我有一个简单的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?
});
答案 0 :(得分:3)
setTimeout
会返回一个随机数,您必须将其存储在变量中,然后使用它来清除setTimeout
点击处理程序中的$('#pauseSlider')
。
var id;
function scrollSlider() {
// (...) code
id = setTimeout(scrollSlider, 1000);
// (...) more code
}
$('#pauseSlider').click(function() {
clearTimeout(id);
});