• 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

VPS Starter Arubacloud
0 głosów
384 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 125 wizyt
pytanie zadane 10 marca 2019 w JavaScript przez Sobol3k Użytkownik (690 p.)
+1 głos
1 odpowiedź 264 wizyt
pytanie zadane 19 sierpnia 2016 w JavaScript przez Widemo Użytkownik (920 p.)
0 głosów
1 odpowiedź 152 wizyt
pytanie zadane 23 maja 2019 w HTML i CSS przez tgv Użytkownik (890 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...