Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Wyrażenia regularne
Forum PHP.pl > Forum > Przedszkole
fastlone
Witajcie.

Mam oto taki kodzik w jQuery
  1. <script type="text/javascript">
  2. jQuery(function($) {
  3.  
  4. $('#buy_kp_button').hide();
  5.  
  6. $('#buy_kp_section').mouseover(function() {
  7. $('#buy_kp_button').toggle();
  8. });
  9. $('#buy_kp_section').mouseout(function() {
  10. $('#buy_kp_button').toggle();
  11. });
  12.  
  13. $('#buy_obj_button').hide();
  14.  
  15. $('#buy_obj_section').mouseover(function() {
  16. $('#buy_obj_button').toggle();
  17. });
  18. $('#buy_obj_section').mouseout(function() {
  19. $('#buy_obj_button').toggle();
  20. });
  21.  
  22. });
  23.  


Czy da się w jQuery dodać jakąś zasadę, by zamiast dodawania dla kolejnych divów kolejne reguły zrobić jedną regułę jQuery, która by uwzględniała wszystkie reguły zawierające odpowiedni id?
Fifi209
Cytat(fastlone @ 2.10.2011, 17:16:20 ) *
Czy da się w jQuery dodać jakąś zasadę, by zamiast dodawania dla kolejnych divów kolejne reguły zrobić jedną regułę jQuery, która by uwzględniała wszystkie reguły zawierające odpowiedni id?

Szczerze to nie zrozumiałem. Co do ID muszą być unikalne, klasy mogą się powtarzać, także dla podanego tutaj przykładu dodatkowo nadaj klasę i w jQuery przypisuj zdarzenie na klasę a nie na ID.
fastlone
Chodzi mi o to, by zamiast kodu podanego w pierwszym poście zrobić kod a'la
  1. <script type="text/javascript">
  2. jQuery(function($) {
  3.  
  4.  
  5. $('#*_button').hide();
  6.  
  7. $('#*_section').mouseover(function() {
  8. $('#*_button').toggle();
  9. });
  10. $('#*_section').mouseout(function() {
  11. $('#*_button').toggle();
  12. });
  13.  
  14. });
  15.  
  16. </script>


Znaczek * ma sugerować, że dany kod jQuery odnosi się do każdego div'a o podobnym id. Jest to jakby dowolna treść.
lobopol
Użyj po prostu klas zamiast id i tyle.
Fifi209
No to napisałem w pierwszym swoim poście, skorzystaj z klas. wink.gif
fastlone
  1. <style type="text/css">
  2. .premiumone {
  3. font-size: 10px;
  4. color: #9F9F9F;
  5. padding-left: 12px;
  6. }
  7. .premiumicon
  8. {
  9. background: url(./images/ipb3/star.png) no-repeat left center;
  10. }
  11.  
  12. jQuery(function($) {
  13.  
  14. $('.buy_button').hide();
  15.  
  16. $('.buy_section').mouseover(function() {
  17. $('.buy_button').toggle();
  18. });
  19. $('.buy_section').mouseout(function() {
  20. $('.buy_button').toggle();
  21. });
  22.  
  23.  
  24. });
  25.  
  26.  
  27. <div class="tloprofile2">
  28.  
  29. <table border="0" cellspacing="0" cellpadding="8" class="tborder" width='100%'>
  30. <tr><td class='trow1' colspan="2">
  31. <span style="font-size: 18px; font-family: Century Gothic;">Usługi</span>
  32.  
  33. </td></tr>
  34. <tr class="buy_section">
  35. <td class='trow1' width="130" valign="top"><span style="font-weight: bold; font-size: 14px;">Konto premium</span><br /><img src='gamepanel/premium_big.png' /></td>
  36. <td class='trow1' valign="top">
  37. tresc
  38. <div class="buy_button">
  39. <span class="post_buttons" style="float: right;">
  40. <a href="#buy_kp" rel="facebox">
  41. <span class="post_button">
  42. <span style="text-decoration: none; color: black;"><img src="images/ipb3/star.gif" alt="" /> Zakup usługę</span>
  43. </span>
  44. </a>
  45. </span></div>
  46.  
  47. </td>
  48. </tr>
  49.  
  50. <tr class="buy_section">
  51. <td class='trow1' width="130" valign="top"><span style="font-weight: bold; font-size: 14px;">Tworzenie obiektów</span><br /><img src='gamepanel/make_obj.png' /></td>
  52. <td class='trow1' valign="top">
  53. tresc
  54. <div class="buy_button">
  55. <span class="post_buttons" id="buy_obj_button" style="float: right;">
  56. <a href="#buy_obj" rel="facebox">
  57. <span class="post_button">
  58. <span style="text-decoration: none; color: black;"><img src="images/ipb3/star.gif" alt="" /> Zakup usługę</span>
  59. </span>
  60. </a>
  61. </span>
  62. </div>
  63.  
  64. </td>
  65. </tr>
  66.  
  67.  
  68. </div>


Przy takim kodzie, czyli zastosowaniu klas, podczas najeżdżania na jednego div'a, pokazują się oba buttony - chcę, aby pokazał się tylko ten button, który należy do klasy, na którą najeżdżam.
kaem
Może tak:
  1. $('.buy_section').mouseover(function() {
  2. $(this).find('.buy_button').toggle();
  3. });
  4.  
fastlone
@kaem
Dokładnie o takie coś mi chodziło. Bardzo pięknie dziękuję smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.