欢迎您来到,李雷博客 | PHP博客        登录  |  注册

setTimeout用clearTimeout无法清除定时或无效怎么办?

更新:2023-04-18 11:08:51
人气:1312
来源:本站原创
A+

记录一下JS中用setTimeout做定时事件,而用clearTimeout无法清除定时的问题排查思路。

<script>
	var clear_info;
	var qingkong_time=10000 ;

	function abc(){
		alert("李雷博客的网址是:www.mdaima.com");
		clear_info=setTimeout("error_tishi('')", qingkong_time); //清空信息
		console.log('定时器ID:'+clear_info)//对象的ID
	}

	$(document).keydown(function (event) {
		if (clear_info){//判断如果有定义再执行
			clearTimeout(clear_info);
			console.log('清理的定时器ID:'+clear_info)
		}
	}
</script>

在排查问题时,根据console.log打印定时器的ID,发现自己的代码中出现了多个定时器,因为每次产生的对象是不同的ID,所以多个定时器如果用一个事件清除定时的话会造成未清除指定的时间,所以会有无效的情况,尽量定义一个变量名,自己再判断一下清除的定时与自己设置的是不是一个ID就可以判断出问题所在。

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2023 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4