使用自定义setTimeout和setInterval使之可以传递参数和对象参数
更新时间:2009年04月24日 01:22:19 作者:
该函数兼容ie,firefox。并且可以使用clearSetTimeOut和clearInterval清除,比原setTimeout,setInterval方便很多,并且参数可以是object。
/******************************************************
//
// 功能: 修改window.setTimeout,使之可以传递参数和对象参数
// 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n)
//
******************************************************/
var mySetTimeOut = setTimeout;
window.setTimeout = function(callback, timeout)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetTimeOut(callFn, timeout);
}
/******************************************************
//
// 功能: 修改window.setInterval,使之可以传递参数和对象参数
// 使用方法: window.setInterval(回调函数,间隔时间,参数1,参数n)
//
******************************************************/
var mySetInterval = setInterval;
window.setInterval = function(callback, interval)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetInterval(callFn, interval);
}
// 测试代码传递object
// 普通参数就不举例了
var obj = {height: 40px;}
var testTimeout = testInterval = null;
function test(obj)
{
alert(obj.height);
clearSetTimeOut(testTimeout);
clearInterval(testInterval);
}
var testTimeout = window.setTimeout(test, 100, obj);
var testInterval = window.setInterval(test, 100, obj);
该函数兼容ie,firefox。并且可以使用clearSetTimeOut和clearInterval清除,比原setTimeout,setInterval方便很多,并且参数可以是object。
//
// 功能: 修改window.setTimeout,使之可以传递参数和对象参数
// 使用方法: window.setTimeout(回调函数,延迟时间,参数1,参数n)
//
******************************************************/
var mySetTimeOut = setTimeout;
window.setTimeout = function(callback, timeout)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetTimeOut(callFn, timeout);
}
/******************************************************
//
// 功能: 修改window.setInterval,使之可以传递参数和对象参数
// 使用方法: window.setInterval(回调函数,间隔时间,参数1,参数n)
//
******************************************************/
var mySetInterval = setInterval;
window.setInterval = function(callback, interval)
{
var args = Array.prototype.slice.call(arguments, 2);
function callFn(){callback.apply(null, args);}
return mySetInterval(callFn, interval);
}
// 测试代码传递object
// 普通参数就不举例了
var obj = {height: 40px;}
var testTimeout = testInterval = null;
function test(obj)
{
alert(obj.height);
clearSetTimeOut(testTimeout);
clearInterval(testInterval);
}
var testTimeout = window.setTimeout(test, 100, obj);
var testInterval = window.setInterval(test, 100, obj);
该函数兼容ie,firefox。并且可以使用clearSetTimeOut和clearInterval清除,比原setTimeout,setInterval方便很多,并且参数可以是object。
您可能感兴趣的文章:
- setInterval和setTimeout停止的方法
- Javascript延迟执行实现方法(setTimeout)
- Js setInterval与setTimeout(定时执行与循环执行)的代码(可以传入参数)
- JavaScript setTimeout和setInterval的使用方法 说明
- setTimeout与setInterval在不同浏览器下的差异
- javascript setTimeout和setInterval 的区别
- javascript 不停(setInterval)/延时(setTimeout)函数使用实例
- 给c#添加SetTimeout和SetInterval函数
- setInterval 和 setTimeout会产生内存溢出
- setTimeout和setInterval的区别你真的了解吗?
相关文章
JavaScript通过改变文字透明度实现的文字闪烁效果实例
这篇文章主要介绍了JavaScript通过改变文字透明度实现的文字闪烁效果,结合完整实例形式分析了javascript基于定时器周期性动态修改页面元素属性的相关操作技巧,需要的朋友可以参考下2017-04-04
JavaScript实现获取用户单击body中所有A标签内容的方法
这篇文章主要介绍了JavaScript实现获取用户单击body中所有A标签内容的方法,涉及javascript针对页面元素及事件响应相关操作技巧,需要的朋友可以参考下2017-06-06
在layer弹层layer.prompt中,修改placeholder的实现方法
今天小编大家分享一篇在layer弹层layer.prompt中,修改placeholder的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-09-09


最新评论