如何从其他功能停止/暂停功能?

时间:2014-10-04 11:23:21

标签: javascript jquery

我有一个简单的jquery-ui滑块,我不断自动循环遍历值。我成功地有一个开始运动的按钮,但是我忘了在按下另一个按钮时如何暂停/停止运动?我知道这是非常简单的事情,但我有一个绝对的头脑空白,谷歌并没有给我我想要的东西。 (可能是因为我正在寻找错误的措辞)。我可以在pauseSlider函数中添加什么来...暂停滑块!

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?
});

1 个答案:

答案 0 :(得分:3)

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

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