1

我有一个控制滑块的 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;
}
}
4

1 回答 1

0

我刚刚从这个人的帖子中解决了这个问题Reset setinterval on click

我用它来重新启动 setInterval,它还包括一个超时功能,可以为客人单击的幻灯片添加时间。

  setTimeout(function() {
    setInterval(timecode, 8000);
  }, 2000);

所以在你的 3 click 函数里面你会有这样的东西。我假设你也会改变你的 $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 即可。

于 2013-01-05T21:07:14.350 回答