setInterval和setTimeout传递参数的最佳方法
给 setInterval 和 setTimeout 传递参数通常不太好处理,网上看到一些方法显得也有点过于复杂,有没有简单又方便的传递方法呢?答案是肯定的,下面把它分享给大家。
一、setInterval传递参数的最佳方法
只要写一个中间方法,就可以实现随意传递参数,示例如下:
假如要在3秒内自动跳转到指定页,代码如下:
var s = 3;
var setIntervalId = setInterval(function () { tempJumpToPage("showId", "http:// www. liangshunet. com"); }, 1000);
//中间方法
function tempJumpToPage(obj, url) {jumpToPage(obj, url); }
function jumpToPage(obj, url)
{
document.getElementById(obj).innerHTML = '将在 ' + s + ' 秒后自动跳转到 ' + url;
if (s == 0) {
clearInterval(setIntervalId);
window.location = url;
}
s--;
}
<div id="showId"></div>
2、setTimeout传递参数的最佳方法
setTimeout传递参数与 setInterval 一样,也是采用中间方法的方式实现,示例如下:
假要定时隐藏删除、修改记录的提示信息,代码如下:
setTimeout(function () { tempHideInfo("infoId", "删除成功!"); }, 3000);
//中间方法
function tempHideInfo(obj, message) { hideInfo(obj, message); }
//第2个参数没用,只是作为传递多个参数的参考
function hideInfo(obj, message) {
document.getElementById(obj).style.display = "none";
}
<div id="infoId">删除成功!</div>
以上示例都通过测试,没有发现任何问题,可以直接使用,尤其是第一个示例更具实用性。
-
相关阅读