Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Wyrażenia regularne, Nie wiem jak to nazwać, dlatego zajrzyjcie.
fastlone
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 15
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


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?

Ten post edytował fastlone 2.10.2011, 16:17:01
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
fastlone
post
Post #3





Grupa: Zarejestrowani
Postów: 95
Pomógł: 15
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


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ść.

Ten post edytował fastlone 2.10.2011, 16:37:38
Go to the top of the page
+Quote Post
lobopol
post
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Użyj po prostu klas zamiast id i tyle.
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


No to napisałem w pierwszym swoim poście, skorzystaj z klas. (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
fastlone
post
Post #6





Grupa: Zarejestrowani
Postów: 95
Pomógł: 15
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


  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.
Go to the top of the page
+Quote Post
kaem
post
Post #7





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


Może tak:
  1. $('.buy_section').mouseover(function() {
  2. $(this).find('.buy_button').toggle();
  3. });
  4.  
Go to the top of the page
+Quote Post
fastlone
post
Post #8





Grupa: Zarejestrowani
Postów: 95
Pomógł: 15
Dołączył: 3.06.2010

Ostrzeżenie: (0%)
-----


@kaem
Dokładnie o takie coś mi chodziło. Bardzo pięknie dziękuję (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:26