Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Wiele instacji do jednego skryptu
Forum PHP.pl > Forum > Przedszkole
KrzysiekKCN
Witam,
Szukałem po sieci, jednak nic konkretnego nie znalazłem - dlatego zwracam się do was o jakieś linki / wytłumaczenie problemu.

Robiąc skrypt w jQuery często borykam się z problemem dot. ilości instancji danego elementu.

Kod który potrafię przygotować działa tylko do 1 elementu, chcąc utworzyć kolejny muszę zmienić nazwy elementów - jak przygotować skrypt który pozwoli mi np. wykorzystać go n razy na danej podstronie?


Zwykle udało mi się to ominąć, lub nie było ich tyle żeby nie móc przekopiować - choć była to robota strasznie możolna - i zapewne znacznie wpływała na obciążenie strony.
Teraz postanowiłem dodać przyciski do produktów na stronie i nie jestem w stanie przewidzieć ile będzie w danej kategorii:

W skrypcie zastosowałem hoverIntent - ponieważ przy zwykłym hover lub mouseover skrypt można było łatwo zapętlić, jednak powoduje to delikatne opóźnienie.
Czy jest inna opcja by zabezpieczyć przycisk przed bezsensownym miganiem, a przyśpieszyć jego reakcję?
LINK DO HOVER INTENT


Z góry dziękuje i pozdrawiam.


  1. $("div.buynowbutton").hoverIntent(function() {
  2. $(this).fadeTo('fast', 0.6, function() {
  3. $(this).css("background-image","url('images/buynowprice.png')");
  4. $("div.buynow").hide();
  5. $("div.showtheprice").show();
  6. }).fadeTo('slow', 1);
  7. }, function(){
  8. $(this).fadeTo('fast', 0.6, function() {
  9. $(this).css("background-image","url('images/buynow.png')");
  10. $("div.buynow").show();
  11. $("div.showtheprice").hide();
  12. }).fadeTo('slow', 1);
  13. });

  1. <div class="buynowbutton">
  2. <a href="http://justinbieber.com">
  3. <div class="buynow">KUP TERAZ</div>
  4. <div class="showtheprice">110,00 PLN</div>
  5. </a>
  6. </div>

  1. .buynowbutton a:link, a:visited {
  2. display:block;
  3. text-decoration: none;
  4. }
  5. .buynowbutton {
  6. height: 47px;
  7. width: 166px;
  8. background: url('images/buynow.png') no-repeat;
  9. }
  10. .buynowbutton .buynow {
  11. color: white;
  12. font-weight: 800;
  13. font-size: 17px;
  14. position: relative;
  15. left: 55px;
  16. top: 12px;
  17. }
  18. .buynowbutton .showtheprice {
  19. color: white;
  20. font-weight: 800;
  21. font-size: 17px;
  22. position: relative;
  23. left: 55px;
  24. top: 12px;
  25. display: none;
  26. }
  27.  
  28.  
  29. .buynowbutton1 a:link, a:visited {
  30. display:block;
  31. text-decoration: none;
  32. }
  33. .buynowbutton1 {
  34. height: 47px;
  35. width: 166px;
  36. background: url('images/buynow.png') no-repeat;
  37. }
  38. .buynowbutton1 .buynow1 {
  39. color: white;
  40. font-weight: 800;
  41. font-size: 17px;
  42. position: relative;
  43. left: 55px;
  44. top: 12px;
  45. }
  46. .buynowbutton1 .showtheprice1 {
  47. color: white;
  48. font-weight: 800;
  49. font-size: 17px;
  50. position: relative;
  51. left: 55px;
  52. top: 12px;
  53. display: none;
  54. }
  55. </style>
sajegib
Cytat
Czy jest inna opcja by zabezpieczyć przycisk przed bezsensownym miganiem, a przyśpieszyć jego reakcję?


użyj .stop(); np.

Kod
.stop().show();


Pozwoli ci to uniknąć zapętlania się efektów jQuery
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.