+ -
当前位置:首页 → 问答吧 → jquery中的setInterval后clearInterval,还能再重新setInterval吗?

jquery中的setInterval后clearInterval,还能再重新setInterval吗?

时间:2011-12-02

来源:互联网

我有一段程序在页面加载的时候,如下《代码A》设置了一个setInterval:
JScript code

                        sliderIntervalID = setInterval(function(){
                            if(active===false) {animate("next",true);}
                        },o.autoStart);




然后在鼠标点击时间中用JScript code
clearInterval(sliderIntervalID);
取消了设置的定时器。


那么在鼠标再次点击后,怎么重新恢复这个定时器的功能呢?我现在用《代码A》重新设置定时器,但是没起作用。

是不是因为这个sliderIntervalID已经被停止了,如果不刷新页面就不能再使用它了?

作者: charlesxu   发布时间: 2011-12-02

不会的,即使没刷新也可以再使用,只要你重新触发了 计时器,你检查检查写法是否有问题,会不会在你触发计时器的时候就被你清了。

作者: zaple   发布时间: 2011-12-02

我是想在鼠标移入移出一个div时,触发或者清除这个定时器。这样就能达到暂停的效果。因为移入时清除定时器就暂停,移出时恢复定时器,就会每隔8秒进入下一个slide。

这个定时器是在页面加载时设置的,每隔8秒,切换到下一个slide。


鼠标移入移出的代码如下:
JScript code

                    $(".slide",$t).hover(
                        function(){clearInterval(sliderIntervalID);},
                        function(){
                            sliderIntervalID = setInterval(function(){
                                if(active===false) {animate("next",true);}
                            },o.autoStart);
                        }
                    );

作者: charlesxu   发布时间: 2011-12-02

定时器是在页面加载时设置的,每隔8秒切换到下一个slide。我添加了下面这段代码,为了实现鼠标移入移出时暂停和恢复的功能。比如鼠标移入时取消定时器就能暂停切换;鼠标移出时恢复定时器,就能恢复定时(8秒)切换的功能。

JScript code

                    $(".slide",$t).hover(
                        function(){clearInterval(sliderIntervalID);},
                        function(){
                            sliderIntervalID = setInterval(function(){
                                if(active===false) {animate("next",true);}
                            },o.autoStart);
                        }
                    );

作者: charlesxu   发布时间: 2011-12-02

哥们,8秒钟很长啊,要知道clearInterval的作用是清除setInterval继续循环,而有可能再你clearInterval后,那8秒钟还没到,会再执行一次。

作者: zaple   发布时间: 2011-12-02

相关阅读 更多