我在jquery中编写了一个自定义幻灯片。
我在幻灯片上调用了setInterval函数来自动执行上一个/下一个按钮,因此当未单击按钮时,幻灯片会每6秒显示一次新幻灯片,但是当我尝试清除上一个/下一个按钮的间隔时单击按钮间隔不会重置为0?
这是我的jquery代码
可以在testsiteclash.co.uk上查看该滑块
预先感谢
$(document).ready( function ($) {
var slider = $("#jquery-slideshow"), // cache the slider object for later use
item_width = slider.parent().outerWidth();
$( window ).on( "resize", adjust );
adjust();
if ( slider.children("li").length > 1 ) {
// Add previous/next buttons
slider.parent().append("<a href=\"#\" id=\"btn-prev\"><i class=\"fa fa-angle-left\"></i><span>Previous</span></a><a href=\"#\" id=\"btn-next\"><i class=\"fa fa-angle-right\"></i><span>Next</span></a>");
slider.parent().on("click", "a#btn-prev", function(e){
e.preventDefault();
slider.children("li:last").prependTo( slider );
slider.css("left", -item_width);
slider.animate({
left: 0
}, 1000, "swing");
clearInterval(slideInt.timer);
});
slider.parent().on("click", "a#btn-next", function(e){
e.preventDefault();
slider.animate({
left: -item_width
}, 1000, "swing", function(){
slider.children("li:first").appendTo( slider );
slider.css("left", 0);
});
clearInterval(slideInt.timer);
});
}
function adjust(){
item_width = slider.parent().outerWidth();
slider.children("li").width( item_width ).parent().width( item_width * slider.children("li").length );
}
});
var yourinterval = 6000;
var slideInt = {timer: 0};
slideInt = setInterval(function(){$('a#btn-next').click(); }, yourinterval);
$(document).ready(function() {
setInterval(slideInt);
});