我一直在研究这个滑块,我已经让它自动玩了一些简单的Jquery标记。我决定我可以选择转到滑块上的上一个和下一个,但我不确定是否可以使用我的设置。我有一个“下一步”按钮设置,移动到下一个图像。我的问题在于在您在代码中点击下一步后让计时器重新启动。这可能吗,我只是忽略了什么?我也想知道如何为“前一个”按钮创建“下一个”按钮的等效按钮。任何帮助都会受到赞赏,因为我一直在抨击这个问题。
这是我正在使用的Jquery:
var time = 6000;
function play() {
setInterval(function(){
var next = $(".slideshow .active").removeClass("active").next(".image");
if (!next.length) {
next = $(".slideshow .image:first");
}
next.addClass("active");
}, time);
}
play();
/*Start of function for next button */
function forward() {
$('.forward').click(function() {
var go = $(".slideshow .active").removeClass("active").next(".image").addClass("active");
if (!go.length) {
go = $(".slideshow .image:first");
}
go.addClass("active");
});
}
forward();
我已经创建了一个CodePen(http://codepen.io/Develonaut/pen/lLmkc)来尝试解决这个问题。我很乐意为CodePen提供帮助。非常感谢!
答案 0 :(得分:2)
您需要将setInterval
的返回值设置为变量,然后将该变量传递给clearInterval
以重置计时器。每次按下上一个/下一个按钮,然后再次调用play
功能从头开始计时器。
以下是CodePen example的更新版本。
答案 1 :(得分:0)
做这样的事情:
存储间隔id - setInterval()返回此值以供以后与clearInterval()一起使用
var intervalId = setInterval(function()...
然后清除&按下按钮时重置间隔:
clearInterval(intervalId);
play();