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

Javascript
Jquery实战_读书笔记2 选择器
JQuery 确定css方框模型(盒模型Box Model)
jQuery 入门级学习笔记及源码
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
JavaScript 学习笔记(十四) 正则表达式
JQuery 操作Javascript对象和数组的工具函数小结
用JS写的一个TableView控件代码
JQuery 1.4 中的Ajax问题
window.onbeforeunload方法在IE下无法正常工作的解决办法
优化javascript的执行速度
jQuery 1.4 15个你应该知道的新特性(译)
js 模拟实现类似c#下的hashtable的简单功能代码
setTimeout与setInterval在不同浏览器下的差异
php gethostbyname获取域名ip地址函数详解
JavaScript 未结束的字符串常量常见解决方法
document.getElementById为空或不是对象的解决方法
javascript中利用数组实现的循环队列代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 254 ::
收藏到网摘: 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。