setInterval和setTimeout传递参数的最佳方法

亮术网 2013-06-25 本网原创

  给 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> 

 

  以上示例都通过测试,没有发现任何问题,可以直接使用,尤其是第一个示例更具实用性。

  • 相关阅读