当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 使用自定义setTimeout和setInterval使之可以传递参数和对象参数

Javascript
JavaScript[对象.属性]集锦之五
JavaScript[对象.属性]集锦之六
JavaScript[对象.属性]集锦之七
JavaScript[对象.属性]集锦之八
JavaScript[对象.属性]集锦之九
JavaScript[对象.属性]集锦之十
javascript进行客户端数据的校验(1)
javascript进行客户端数据的校验(2)
用JavaScript实现变色背景和文字(2)
用JavaScript实现文件夹轻松加密
初学Javascript之cookie篇(1)
初学Javascript之cookie篇(2)
初学Javascript之cookie篇(3)
初学Javascript之cookie篇(4)
JavaScript学习:基础继承机制(1)
JavaScript学习:基础继承机制(2)
JavaScript对象与数组参考大全(1)
JavaScript对象与数组参考大全(2)
JavaScript对象与数组参考大全(3)
JavaScript对象与数组参考大全(4)

Javascript 中的 使用自定义setTimeout和setInterval使之可以传递参数和对象参数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 385 ::
收藏到网摘: n/a

该函数兼容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。