• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Slider javascript, clearTimeout nie działa :c

Object Storage Arubacloud
0 głosów
400 wizyt
pytanie zadane 2 lipca 2017 w JavaScript przez sempiordlem Nowicjusz (210 p.)
var slideIndex = 1;
var myVar = 0;
var myVars = 0;
showDivs(slideIndex);
carousel();

function carousel() {
	carousell(1);
    myVar = setTimeout(carousel, 2000);
}

function carousell(n) {
  showDivs(slideIndex += n);
}

function plusDivs(n) {
  showDivs(slideIndex += n);
  clearTimeout(myVar);
  setTimeout(carousel, 2000);
}

function showDivs(n) {
  var i;
  var x = document.getElementsByClassName("slide");
  if (n > x.length) {slideIndex = 1}    
  if (n < 1) {slideIndex = x.length}
  for (i = 0; i < x.length; i++) {
     x[i].className = "slide";
  }
	  x[slideIndex-1].className += " fadeIn";
}

Po kliknięciu strzałki w lewo, lub w prawo, "naturalny czas przesuwania slajdu" nie zatrzymuje się.
Slider można póki co zobaczyc na http://aletu.ideya.pl/
Liczę, że ktoś ma pomysł co poprawić

1 odpowiedź

0 głosów
odpowiedź 3 lipca 2017 przez kosaa Stary wyjadacz (14,130 p.)

jak napisales tak dziala :P nie zrobie roboty za Ciebie ale powiem gdzie jest blad

function carousel() {
    carousell(1);
    myVar = setTimeout(carousel, 2000);
}

w funkcji carousel wolasz funkcje carousel, zrobiles tak zwane wywolanie rekurencyjne

offtop
nadawaj zmiennym nazwy ktore cos mowia, jak wrocisz za 2 lata do kodu to bedziesz musial sie zastanawiac co miales na mysli :)

var myVar = 0;
var myVars = 0;

 

komentarz 3 lipca 2017 przez Bravo555 Gaduła (3,970 p.)

W zasadzie to rekurencji tu nie ma, funkcja `carousel()` nie wywołuje siebie, tylko inną funkcję. Różnicą jest... jedna litera:

carousel() {
carousell(1);

 

komentarz 4 lipca 2017 przez kosaa Stary wyjadacz (14,130 p.)
jest, popatrz na 1 i 3 linie w tym co podalem wczesniej

Podobne pytania

0 głosów
0 odpowiedzi 136 wizyt
pytanie zadane 10 marca 2019 w JavaScript przez Sobol3k Użytkownik (690 p.)
+1 głos
1 odpowiedź 282 wizyt
pytanie zadane 19 sierpnia 2016 w JavaScript przez Widemo Użytkownik (920 p.)
0 głosów
1 odpowiedź 157 wizyt
pytanie zadane 23 maja 2019 w HTML i CSS przez tgv Użytkownik (890 p.)

92,577 zapytań

141,426 odpowiedzi

319,653 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...