[英]Onload timer reset or restart
有什么办法可以重置这个onload的时间吗?
function auto(){
setInterval(slide, 5000);
}
window.onload = auto;
就我而言,当我通过复选框手动更改幻灯片时,计时器不会重置并且基本上会快速通过所选幻灯片,因为计数器没有与 slide() 函数一起重置。
我用它来收听幻灯片索引(复选框),并重新加载幻灯片脚本。
function check(input) {
//set checked of clicked object
slideContador = input.name;
slide();
}
function slide() {
if(slideContador >= slideTamanho) {
slideContador = 0;
}
document.getElementById('slide-link').href = slideLink[slideContador];
document.getElementById('slide-img').src = slideImg[slideContador];
document.getElementById('slideshow-bg').style.backgroundImage = "url('" + slideFundo[slideContador] + "')";
//Desmarca checkboxes
var checkboxes = document.getElementsByClassName("rounded-checkbox");
for(var i = 0; i < checkboxes.length; i++){
//uncheck all
if(checkboxes[i].checked == true)
{
checkboxes[i].checked = false;
}
}
var element = document.getElementsByName(slideContador)[0];
element.checked = true;
//Almenta o contador
slideContador++;
}
使用 clearInterval 删除计时器。
let timer = null
function auto(shouldSlide){
if (timer) window.clearInterval(timer);
timer = window.setInterval(slide, 5000);
if (shouldSlide) slide();
}
window.addEventListener('load', function() { auto(); });
function check(input) {
slideContador = input.name;
auto(true);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.