javascript - 如何停止图片的幻灯片放映?

标签 javascript jquery html

function slideshow(){
    var timer = 0;
    if(++index > 6) index = 1;
    $(".banner").attr("src", images[index-1]);
    $(".textfield").text(captions[index-1]);
    $(".num").text(index);
    timer = setTimeout(slideshow,3000);
}   

function stopShow(){
    clearTimeout(timer);
}

$("#show").click(function(){
    slideshow();
});

$("#stopshow").click(function(){
    stopShow();
});

我有两个按钮分别用于开始和停止幻灯片放映。在上面的代码部分,当我单击停止幻灯片放映按钮时,它类 stopShow() 函数,但 setTimeout 循环不会在后台停止

最佳答案

我认为这与var timer 的范围有关。尝试将声明移到 slideshow() 函数之外。即:

var timer;

function slideshow(){
    timer = 0;
    ....
}

function stopShow(){
    clearTimeout(timer);
}
....  

关于javascript - 如何停止图片的幻灯片放映?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052584/

相关文章:

javascript - 试图理解将对象传递给函数的含义

javascript - 如何使用桌面浏览器测试触摸事件?

javascript - 如何在悬停到任何链接时显示/隐藏 div

javascript - Jquery 复选框更改事件未触发

javascript - 如何使用带超时的 localStorage 创建元素显示和隐藏

jquery click 事件的 Javascript 变量范围问题

javascript - 无法阻止列表分隔符被视为列表项

javascript - 替换变量中的字符

javascript - 使用 JS/jQuery 将行动态添加到表中时行消失

javascript - Google Maps Geocode-处理异步调用