0
Я пытаюсь сделать кнопку, которая при нажатии останавливает выполнение автоматического слайд-шоу. Функция clearTimeout() не работает по какой-то странной причине. может кто-нибудь, пожалуйста, скажите мне, как заставить его работать?проблемы с очисткой setTimeout() в коде javascript
var button = document.getElementById("button");
button.addEventListener("click",stop);
function stop(){
**clearTimeout(t);**
}
window.addEventListener("load",finalResult);
**var t = setTimeout(function(){finalResult()},0);**
function finalResult(){
getFirstImage();
function getFirstImage(){
img1.style.display = "block";
setTimeout(getSecondImage,3000);
}
function getSecondImage(){
img1.style.display = "none";
img2.style.display = "block";
setTimeout(getThirdImage,3000);
}
function getThirdImage(){
img3.style.display = "block";
img2.style.display = "none";
setTimeout(getFourthImage,3000);
}
function getFourthImage(){
img4.style.display = "block";
img3.style.display = "none";
setTimeout(loopAgain,3000);
}
function loopAgain(){
img4.style.display = "none";
setTimeout(getFirstImage,0);
}
}
Вы установили тайм-аут до 0, так что нет никакого способа, вы щелкаете прежде чем это произойдет. –
вы ожидаете освобождения 't', чтобы очистить все остальные таймы (' setTimeout (getFirstImage, 0); '), которые вы установили? потому что это не так. Вам необходимо очистить каждый тайм-аут отдельно – Liam