clearTimeout 方法在IE上的兼容问题

clearTimeout 方法在IE上的兼容问题今天在做项目时。发现同事写的代码中的存在一个bug问题,出错代码如下:clearTimeout();setTimeout(function(){//具体业务逻辑},1000);这段代码在chrome、firefox浏览器中不会报错,但在IE上会报“调用对象无效”或着报“clearTimeout对象无效”这个错误信息,经过查询发现clearTimeout这个方法必须要传一个参数,具体应修改为:vartimer=null;clearTimeout(timer);.

大家好,欢迎来到IT知识分享网。clearTimeout

今天在做项目时。发现同事写的代码中的存在一个bug问题,出错代码如下:

clearTimeout();
setTimeout(function(){
   // 具体业务逻辑
}, 1000);

这段代码在chrome、firefox浏览器中不会报错,但在IE上会报“调用对象无效”或着报“clearTimeout对象无效”这个错误信息,经过查询发现clearTimeout这个方法必须要传一个参数,具体应修改为:

 

var timer = null;

clearTimeout(timer);
timer = setTimeout(function(){
   // 具体业务逻辑
}, 1000);

但是经过这样修改后,浏览器控制台还是报同样的错误,经常尝试发现,clearTimeout() 方法需要传入一个 setTimeout() 方法返回的id,当没有返回值时,clearTimeout() 方法在IE下执行还是会报错,最后修改结果如下:

var timer = null;
if(null != timer){
    clearTimeout(timer);
}
timer = setTimeout(function(){
   // 具体业务逻辑
}, 1000);

当修改成这样时,IE就不会在出现问题了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/23085.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信