我有一个简单的 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/