`
sohighthesky
  • 浏览: 35894 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

修复IE下setTimeout不能传参数的bug

阅读更多
IE下setTimeout不能参数,如:
setTimeout(function(a,b){
alert(a+"|"+b);
},1000,123,456);
在非ie下都是可以的
//修复setTimeout bug,使用window.setTimeout调用
if(!+'\v1') {
    (function(f){
        window.setTimeout =f(window.setTimeout);
        window.setInterval =f(window.setInterval);
    })(function(f){
        return function(c,t){
            var a=[].slice.call(arguments,2);
            return f(function(){
                c.apply(this,a)},t)
            }
    });
}


修复之后:
window.setTimeout(function(a,b){
   alert(a+"|"+b);
},1000,123,456);
2
1
分享到:
评论
2 楼 wjjxf 2010-12-26  
js 牛人!
1 楼 andot 2010-06-12  
这个帖子真是太好了! 楼主真乃神人耶,膜拜中……

相关推荐

    向setTimeout传递函数参数

    在本文中,我们将深入探讨如何正确地向`setTimeout`传递函数参数,并理解其背后的原理。 `setTimeout`的基本语法如下: ```javascript setTimeout(function, delay, param1, param2, ...) ``` 其中,`function`是...

    scrollpic 多图片滚动 修复IE8

    总之,"scrollpic 多图片滚动 修复IE8"这个主题涉及到Web前端开发中的浏览器兼容性问题,特别是如何在不支持现代Web技术的环境下,利用JavaScript和CSS实现动态图片滚动的挑战。这需要开发者具备扎实的JavaScript...

    利用setTimeout解决延时执行某操作

    setTimeout,javascript 延时执行函数,闭包处理 利用javascript闭包处理延时操作

    js中settimeout方法加参数.docx

    本文将深入探讨`setTimeout`方法及其参数的使用方式,并通过具体示例来帮助读者更好地理解和应用。 #### 一、`setTimeout`方法的基本介绍 `setTimeout`方法属于全局对象,可以在任何作用域内使用。其基本语法如下...

    JavaScript实现向setTimeout执行代码传递参数的方法

    但昨天在写代码的时候发现当第一个参数是函数调用的时候,不能向被调函数传递参数。这真是个非常严重的问题,我排查了好久才发现问题,浪费了N多时间啊。。 后来上网查了查,这其实是IE的一个BUG。解决方法有很多,...

    IE中getElementsByTagName无法获取元素BUG

    5. **动态插入的元素**:IE可能无法立即识别通过JavaScript动态插入的元素,尤其是在没有使用`setTimeout`或`DOMContentLoaded`事件延迟执行的情况下。 针对这些问题,开发者可以采取以下策略来解决: 1. **使用...

    仅IE不支持setTimeout/setInterval函数的第三个以上参数

    代码如下: setTimeout(function(obj){ alert(obj.a); }, 2000, {a:1});... 当然,你还可以传多个参数给回调函数,如下 代码如下: setTimeout(function(a, b){ alert(a); alert(b); }

    js中settimeout方法加参数的使用实例.docx

    在JavaScript中,`...当多个`setTimeout`涉及到共享变量时,需要注意作用域和闭包的影响,以确保每个定时器都能正确地获取其需要的参数。在处理这种复杂情况时,理解JavaScript的执行机制和作用域是非常关键的。

    关于JS中setTimeout()无法调用带参函数问题的解决方法

    但是,当我们要在 setTimeout() 中调用一个需要参数的函数时,可能会遇到问题。因为 setTimeout() 默认只接收两个参数:第一个是要执行的函数,第二个是延迟时间,单位是毫秒。如果需要传递额外参数给函数,直接写会...

    解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题

    关于在Vue中管理setTimeout和setInterval,尤其是涉及到Vue的路由切换时定时器未被销毁的问题,主要涉及到Vue的生命周期钩子、JavaScript的this关键字以及ES6箭头函数的特性。 首先,Vue中的生命周期钩子允许我们在...

    js setTimeout 参数传递使用介绍

    window.settimeout()方法要调用带参数的函数有两种方法: 1. 代码如下: function init(){ var url = “<%=basePath%>fetchwater.do?method=searchRealWater&xzqh=” + “<%=xzqh%>” + “&rand=”+...

    JavaScript中SetInterval与setTimeout的用法详解

    setTimeout 描述 setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。 注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的...

    JS中setInterval、setTimeout不能传递带参数的函数的解决方案

    在JS中无论是setTimeout还是setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数, 这就需要想方法解决。 一、采用字符串形式:——(缺陷)参数不能被周期性改变 setInterval(“foo(id...

    setTimeout应用(模拟站长之家导航)

    在JavaScript编程中,`setTimeout`是一个非常重要的函数,它用于在指定的时间(以毫秒为单位)后调用一个函数或者执行某段代码。在这个场景中,标题提到的"setTimeout应用(模拟站长之家导航)"可能是指利用`...

    jQuery鼠标不停滑动手风琴bug修复

    然而,在某些情况下,当用户快速连续滑动鼠标时,可能会遇到手风琴bug,导致内容区域无法正常展开或折叠,或者出现闪烁、卡顿等问题。本文将详细探讨这个问题,并提供有效的解决方案。 首先,我们要理解手风琴的...

    关于JS定时器(setTimeout setInterval)定时不准问题1

    因此,setTimeout和setInterval的定时器延迟是不能保证的。 解决方案 1. 动态计算时差:在定时器开始前和运行时动态获取当前时间,在设置下一次定时时长时,在期望值基础上减去当前时延,以获得相对精准的定时运行...

    Javascript中, setTimeout() 和 setInterval() 的方法

    在JavaScript编程中,`setTimeout()`和`setInterval()`是两个非常关键的函数,它们用于实现异步编程,特别是在处理动画、定时任务或者延迟执行代码时不可或缺。这两个函数都是全局对象`window`的方法,它们的区别...

    模态对话框导致setTimeout失效的解决方案(一)

    `requestAnimationFrame`会在下一次浏览器重绘之前执行,因此它不受模态对话框的影响。 ```javascript let rafId; function delayedFunction() { // ... } function schedule() { if (dialog.isOpen()) return; ...

Global site tag (gtag.js) - Google Analytics