我有一个控制滑块的jQuery设置间隔循环。我希望能够在用户单击滑块按钮时停止它,这会重新启动时间循环,但我知道的是如何使用
停止循环clearInterval(interval);
这是在3个以下循环之外的单击函数,我想回想一下setInterval在每次单击函数停止后重启的时间。
我怎么能回想起这个setInterval再次开始?
var interval = setInterval(timecode, 8000);
function timecode() {
$varadd = $varadd + 1;
if ($varadd == "1")
{
$(".slider").css("left","-428px");
$("#slidecont2").css('background-image', 'url(pictures/selected.png)');
$("#slidecont1").css('background-image', 'url(pictures/unselected.png)');
$("#slidecont3").css('background-image', 'url(pictures/unselected.png)');
}
else if ($varadd == "2")
{
$(".slider").css("left","-856px");
$("#slidecont3").css('background-image', 'url(pictures/selected.png)');
$("#slidecont2").css('background-image', 'url(pictures/unselected.png)');
$("#slidecont1").css('background-image', 'url(pictures/unselected.png)');
}
else if ($varadd == "3")
{
$(".slider").css("left","0");
$("#slidecont1").css('background-image', 'url(pictures/selected.png)');
$("#slidecont2").css('background-image', 'url(pictures/unselected.png)');
$("#slidecont3").css('background-image', 'url(pictures/unselected.png)');
$varadd = 0;
}
}
答案 0 :(得分:0)
我确实从这篇帖子Reset setinterval on click
中解决了这个问题我用它来重启setInterval,它还包括一个超时功能,可以为访客点击的幻灯片增加时间。
setTimeout(function() {
setInterval(timecode, 8000);
}, 2000);
所以在你的3个点击功能中,你会有这样的东西。而且我假设你的$ varadd也会改变?
$(".slider").css("left","0");
$("#slidecont1").css('background-image', 'url(pictures/selected.png)');
$("#slidecont2").css('background-image', 'url(pictures/unselected.png)');
$("#slidecont3").css('background-image', 'url(pictures/unselected.png)');
clearInterval(interval);
$varadd = INTEGER;
setTimeout(function() {
setInterval(timecode, 8000);
}, 2000);
如果您不想添加setimeout函数,只需重写setInterval。