clearInterval是否不重置由setInterval设置的自动点击功能?

时间:2019-04-28 12:11:04

标签: jquery function setinterval clearinterval

我在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);
        });

0 个答案:

没有答案