2014-10-04 139 views
0

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

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

您需要存储'setTimeout'的结果中的计时器ID – 2014-10-04 11:25:37

+0

check clearTimeout() – henser 2014-10-04 11:30:10

回答

3

setTimeout返回,你将有一个变量来存储,然后用它来清除setTimeout$('#pauseSlider')的点击事件处理的随机数。

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