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


/******************************************************
//
// 功能: 修改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。



相关阅读:
dedecms 5.6 缩略图按大小比例缩小裁剪
扩展Windows 服务器2008年评估期
CSS实例:CSS制作的像素图
DIV+CSS+JS 变灰弹出层
JavaScript教程:用JS实现更复杂的交互范例
用IIS+ASP建立网站的安全性分析
删除Windows XP视频文件的几种方法
SQL 优化
JavaScript 的方法重载效果
Dreamweaver中编写CSS需要掌握的技巧
用法:在HTML文件中加入以下代码
linux系统SendMail详细配置
用ASP开发试题库与在线考试系统(4)
使用php操作memcached
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4