Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] jQuery - slider
bahh
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 2
Dołączył: 13.05.2012

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


Mam 6 divów o klasach .s, .s2, .s3, .s4, .s5, .s6

Wszystkie są display:none;

1. Przy załadowaniu strony, .s, .s2 są na display:block oraz dodawana jest im klasa animated bounceInLeft.
2. Po 5 sekundach, zmienia się im klasę na animated bounceOutLeft a po 0,8 sekundy .s3, .s4 są na display:block oraz dodawana jest im klasa animated bounceInLeft.
3. Po 10 sekundach, zmienia się im klasę na animated bounceOutLeft a po 0,8 sekundy .s5, .s6 są na display:block oraz dodawana jest im klasa animated bounceInLeft.

Teraz powinna być pętla, cały czas wykonywane są te trzy punkty. Mój kod:

  1. window.onload = function() {
  2. var time = 3000;
  3. $('.s').css({'display':'block'});
  4. $('.s').addClass('animated bounceInLeft');
  5. setTimeout(function(){
  6. $('.s2').css({'display':'block'});
  7. $('.s2').addClass('animated bounceInLeft');
  8. }, 300);
  9.  
  10. setTimeout(function(){
  11. $('.s').addClass('animated bounceOutLeft');
  12. setTimeout(function(){
  13. $('.s2').addClass('animated bounceOutLeft');
  14. }, 300);
  15. setTimeout(function(){
  16. $('.s3').css({'display':'block'});
  17. $('.s3').removeClass('animated bounceOutLeft');
  18. $('.s3').addClass('animated bounceInLeft');
  19. setTimeout(function(){
  20. $('.s4').css({'display':'block'});
  21. $('.s4').removeClass('animated bounceOutLeft');
  22. $('.s4').addClass('animated bounceInLeft');
  23. }, 300);
  24. }, 800);
  25. }, time);
  26.  
  27. setTimeout(function(){
  28. $('.s3').addClass('animated bounceOutLeft');
  29. setTimeout(function(){
  30. $('.s4').addClass('animated bounceOutLeft');
  31. }, 300);
  32. setTimeout(function(){
  33. $('.s5').css({'display':'block'});
  34. $('.s5').removeClass('animated bounceOutLeft');
  35. $('.s5').addClass('animated bounceInLeft');
  36. setTimeout(function(){
  37. $('.s6').css({'display':'block'});
  38. $('.s6').removeClass('animated bounceOutLeft');
  39. $('.s6').addClass('animated bounceInLeft');
  40. }, 300);
  41. }, 800);
  42. }, 2*time);
  43.  
  44. setTimeout(function(){
  45. $('.s5').addClass('animated bounceOutLeft');
  46. setTimeout(function(){
  47. $('.s6').addClass('animated bounceOutLeft');
  48. }, 300);
  49. setTimeout(function(){
  50. $('.s').css({'display':'block'});
  51. $('.s').removeClass('animated bounceOutLeft');
  52. $('.s').addClass('animated bounceInLeft');
  53. setTimeout(function(){
  54. $('.s2').css({'display':'block'});
  55. $('.s2').removeClass('animated bounceOutLeft');
  56. $('.s2').addClass('animated bounceInLeft');
  57. }, 300);
  58. }, 800);
  59. }, 3*time);
  60. }


ale nie wiem jak ustawić powtarzanie się tego. Przy okazji, gdy wszystkie klasy dostaja addClass('animated bounceOutLeft'); musi być przed addClass('animated bounceInLeft'); zrobiony removeClass('animated bounceOutLeft'); żeby animacja zadziałała.

Ten post edytował bahh 10.11.2014, 12:21:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Źle się do tego zabrałeś.
Jeśli będziesz mieć więcej slajdów, to będziesz dodawał dla nich kolejny fragment kodu?
Być może nie będzie więcej, co nie zmienia faktu, że powinieneś zrobić kod wywoływany wewnątrz setInterval, tam dwa slajdy chować, dwa kolejne wysuwać. Jeśli brak kolejnych dwóch slajdów, to resetujesz licznik i pobierasz dwa pierwsze.
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 13:08