Zadejte hledaný výraz...

JS Interval spuštení ihned a zastavení

Michal Běhal
verified
rating uzivatele
(59 hodnocení)
23. 8. 2020 15:03:31
Hezký den,
na webu mám něco na styl slideru, kdy mám funkce níže pro nastavení funkce, jeho okamžité spuštění a pak pro interval. Při kliknutí na šipku, ale potřebuju průběh funkce zastavit. Je možné to nějak obejít?
Díky,
Michal
$( document ).ready(function() {
myTimer();
var vitezove = setInterval(myTimer, 52300);
function myTimer() { ...
23. 8. 2020 15:03:31
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460903
node
verified
rating uzivatele
(5 hodnocení)
23. 8. 2020 15:21:34
clearInterval(vitezove)
23. 8. 2020 15:21:34
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460902
Michal Běhal
verified
rating uzivatele
(59 hodnocení)
23. 8. 2020 15:43:25
clearInterval chápu, ale já ten myTimer spouštím už předtím, aby se to spustilo ihned a ne až po těch 52 vteřinách. clearInterval tedy zastaví ten interval, ale ne tu první funkci.
23. 8. 2020 15:43:25
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460901
TomasX
verified
rating uzivatele
(4 hodnocení)
23. 8. 2020 15:46:36
Vykonání funkce v JS zastavit nemůžeš? Co obsahuje ten MyTimer? Node ti poradit správně.
Další návrhový vzor je použít setTimeout na konci funkce MyTimer a přidat k tomu nějakou podmínku podle proměnné.
23. 8. 2020 15:46:36
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460900
Michal Běhal
verified
rating uzivatele
(59 hodnocení)
23. 8. 2020 15:54:23
Ten myTimer obsahuje projetí všech slidů. Nevím právě, jak to jinak spustit, abych to mohl zároveň zastavit :) Ten myTimer vypadá takto. Budu to asi muset upravit na jednu položku, aby to dávalo smysl.
function myTimer() {
setTimeout(function(){
$(".vitez1, .vd1").removeClass('vshow');
$(".vitez2, .vd2").addClass('vshow');
}, 4000);
setTimeout(function(){
$(".vd1").removeClass('vblock');
$(".vd2").addClass('vblock');
}, 4300);
setTimeout(function(){
$(".vitez2, .vd2").removeClass('vshow');
$(".vitez3, .vd3").addClass('vshow');
}, 8000);
setTimeout(function(){
$(".vd2").removeClass('vblock');
$(".vd3").addClass('vblock');
}, 8300);
...
23. 8. 2020 15:54:23
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460899
TomasX
verified
rating uzivatele
(4 hodnocení)
23. 8. 2020 16:09:49
uložit si do proměnné ty setTimeout a pak na nich zavolej clearTimeout
23. 8. 2020 16:09:49
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460898
Michal Běhal
verified
rating uzivatele
(59 hodnocení)
23. 8. 2020 16:10:37
Zajímavý přístup, takto jsem to nikdy neřešil. Zkusím, díky moc :)
23. 8. 2020 16:10:37
https://webtrh.cz/diskuse/js-interval-spusteni-ihned-a-zastaveni/#reply1460897
Pro odpověď se přihlašte.
Přihlásit