clearTimeout 方法在IE上的兼容问题

简介: clearTimeout 方法在IE上的兼容问题

今天在做项目时。发现同事写的代码中的存在一个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就不会在出现问题了。

目录
相关文章
|
移动开发 前端开发 HTML5
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
468 0
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
|
JavaScript 前端开发
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
233 0
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
|
Web App开发 前端开发
前端 解决IE兼容问题
前端 解决IE兼容问题
917 0
|
Windows
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
785 0
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
|
Windows
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
265 0
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
|
JavaScript
JS兼容IE浏览器的方法
背景     系统需要兼容蛋疼的IE6... 解决方案 *{ 兼容IE6-8 }* *{ 兼容IE9或以上 }* *{ 非IE浏览器 }*         作者: ...
1273 0