jquery中的setInterval后clearInterval,还能再重新setInterval吗?
时间:2011-12-02
来源:互联网
我有一段程序在页面加载的时候,如下《代码A》设置了一个setInterval:
JScript code
然后在鼠标点击时间中用JScript code
那么在鼠标再次点击后,怎么重新恢复这个定时器的功能呢?我现在用《代码A》重新设置定时器,但是没起作用。
是不是因为这个sliderIntervalID已经被停止了,如果不刷新页面就不能再使用它了?
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
这个定时器是在页面加载时设置的,每隔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
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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28