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

Javascript
JavaScript 自动完成脚本整理(33个)
7个Javascript地图脚本整理
JavaScript 事件记录使用说明
Javascript remove 自定义数组删除方法
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Jquery Ajax.ashx 高效分页实现代码
extjs 学习笔记 四 带分页的grid
javascript void(0)的妙用
用Javascript 编写可以缓慢弹出收缩的层
再谈ie和firefox下的document.all属性
JavaScript 常用函数库详解
JS 截取字符串substr 和 substring方法的区别
Domino中运用jQuery读取视图内容的方法
Js+CSS 文字渐隐渐现显示
Javascript 小写字母依次变为大写
JavaScript 炫彩的文字
javascript 洒脱飘动的文字
JavaScript 平滑文字闪烁
仿打字特效的JS逐字出现的信息文字
JavaScript数组应用 可依次读取的公告栏文字

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


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