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就不会在出现问题了。

目录
相关文章
在masm32中获取IE版本的方法2
在masm32中获取IE版本的方法2
在masm32中获取并显示IE版本的方法1
在masm32中获取并显示IE版本的方法1
|
移动开发 前端开发 HTML5
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
243 0
web页面实现全背景视频功能方案:使用bideo.js来处理object-fit在ie浏览器下不兼容问题
|
JavaScript 前端开发
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
96 0
关于 getBoundingClientRect 方法在360极速浏览器的 IE 兼容模式下获取 documentElement 宽度比在 IE 浏览器下面多 4px 的问题
|
Windows
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
437 0
Windows 技术篇-安装指定版本Internet Explorer浏览器方法,IE浏览器的升级和降级
|
Windows
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
170 0
Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
|
Web App开发 前端开发
前端 解决IE兼容问题
前端 解决IE兼容问题
718 0
|
Web App开发 JavaScript 前端开发