jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Javascript / jQuery中重启setInterval()(不带clearInterval)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用jQuery构建的ui选项卡.一切都有效,除了一个问题 – 我做了一个seTinterval,它运行一个触发器(“click”)的函数,以便在5000毫秒后进入下一个标签.它可以很好地运行每个选项卡,问题是如果用户手动单击选项卡,seTinterval的计时器不会重新启动为0.例如,如果用户要在0毫秒的tab1上启动并点击tab2 at 2000毫秒,seTinterval不会回到0,它将从2000开始并运行到5000毫秒,然后转到tab3.我理解为什么会发生这种情况,我只是想知道是否有办法重新启动seTinterval时序而不必执行clearInterval()并创建一个全新的seTinterval().任何见解将不胜感激.

更新

感谢回复我试图避免使用clearInterval的原因是因为我遇到了如何以clearInterval完全停止seTinterval的方式编写代码的问题.代码设置为在用户单击选项卡时进行跟踪.问题是自动更改功能使用触发器(‘click’),因此当选项卡自动更改时,它也运行我写的clearInterval函数.它本身运行起来相当不错,但是一旦用户开始单击选项卡,seTinterval就会表现异常,并且会无法预测地切换选项卡.我怀疑发生的事情是几个seTintervals同时运行……这是代码(如果你还没有猜到,我在javascript / jquery上很新).我已经注释掉了它的功能,但它仍然没有按照我的意图运行(从第一篇文章开始).

// auto change tabs
            if( options.interval ) {

                function timerCom() {
                    if( !$(".controller").hasClass('paused') ) {
                        var i = $(".tab-current > a").attr("rel");
                        //alert(i);
                        if( i == 3 ) {i = 0};
                        $container
                            .find('a')
                            .eq(i)
                            .trigger('click');
                    }    
                }

                //$("#promo-items > li > a").click(function () {
                    //var timer;
                    //if( timer != null ) {ClearInterval(timer);}
                    timer = seTinterval(timerCom,options.interval);

                //});

            }

解决方法

不,没有清除定时器就无法重启seTinterval设置的定时器.

大佬总结

以上是大佬教程为你收集整理的在Javascript / jQuery中重启setInterval()(不带clearInterval)全部内容,希望文章能够帮你解决在Javascript / jQuery中重启setInterval()(不带clearInterval)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。