天天看點

setTimeout()與setInterval() 問題

提示:setTimeout() 隻執行 code 一次。如果要多次調用,請使用 setInterval() 或者讓 code 自身再次調用 setTimeout()。

1. setInterval(code,millisec[,"lang"])  setInterval() 方法可按照指定的周期(以毫秒計)來調用函數或計算表達式。 

2.setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒數後調用函數或計算表達式。 

也許你曾碰到過這樣的問題,不管是setInterval()還是setTimeout(),當code參數裡放一個帶參函數時,定時器都會失效,看下面這個例子: 

執行上面代碼,頁面不會延遲3秒調用test(a),而是會立即執行test(a),IE、FF、Chrome下都會出現這個問題,如果你經常用到定時器,這個問題應該應該經常會碰到,那麼要怎樣去解決呢? 

方法1:用匿名函數包裹

<a></a>

方法2:用引号包裹需調用的函數 

項目實踐

頁面删除收藏後,停留0.5秒,再跳轉。

開始時怎麼用都不行,後來嘗試加雙引号,都有效果了。

本文轉自TBHacker部落格園部落格,原文連結:http://www.cnblogs.com/jiqing9006/p/4979721.html如需轉載請自行聯系原作者