javascript - 如何从另一个函数停止/暂停一个函数?

标签 javascript jquery

我有一个简单的 jquery-ui slider ,我可以连续自动循环遍历值。我成功地拥有了一个启动运动的按钮,但我忘记了按下另一个按钮时如何暂停/停止运动?
我知道这真的很简单,但我的大脑一片空白,谷歌没有给我我想要的东西。 (可能是因为我正在寻找错误的措辞)。我可以在pauseSlider函数中添加什么来...暂停 slider !

function scrollSlider() {
    var slideValue;
    slideValue = $("#slider").slider("value");
    if (slideValue >= 0) {
        if (slideValue == 2013) {
            slideValue = -1;
        }
        $("#slider").slider("value", slideValue + 1);
        console.log($("#slider").slider("value"));
        setTimeout(scrollSlider, 1000);
    }
}

$('#startSlider').click(function() {
    scrollSlider();
});

$('#pauseSlider').click(function() {
    //What do I put in here?
});

最佳答案

setTimeout 返回一个随机数,您必须将其存储在变量中,然后使用它来清除 $('#pauseSlider' 中的 setTimeout ) 的点击处理程序。

var id;
function scrollSlider() {
   // (...) code 
   id = setTimeout(scrollSlider, 1000);
   // (...) more code
}
$('#pauseSlider').click(function() {
   clearTimeout(id);
});

关于javascript - 如何从另一个函数停止/暂停一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192326/

相关文章:

Javascript filter() 返回所有数据。不过滤匹配项

javascript - 将 Div 置于完全独立的 div 之上

php - 如果 url 与 iframe 标签中设置的不同,则拒绝访问

javascript - 如何检查sqlite3 Nodejs中是否存在表

javascript - 跨域上传图片

php - GET over POST 对生产有什么好处吗?

Javascript 输出 - NaN 消息

javascript - 使用javascript keydown时如何检查输入值是否等于特定字符串?

Javascript 检查提交时的文本限制

java - 在没有 GWT 的情况下将 Javascript 对象转换为 Java