[英]function in setInterval() executes without delay
我正在制作一個jquery應用程序,通過使用setInterval()在指定的時間間隔后隱藏圖像。 問題是隱藏圖像功能立即執行而沒有延遲。
$(document).ready(function() {
setInterval(change(), 99999999);
function change() {
$('#slideshow img').eq(0).removeClass('show');
}
});
我在jsfiddle中測試它。
您立即調用了該函數,而不是將其傳遞給setInterval
。
setInterval( change, 1500 )
- 將函數change
傳遞給setInterval
setInterval( change(), 1500 )
- 調用函數change
並將結果( undefined
)傳遞給setInterval
你有setInterval(change(), 99999999);
最后立即調用change()
函數並將其返回值傳遞給setInterval()
函數。 您需要通過將change()
包裝在函數中來延遲執行change()
。
setInterval(function() { change() }, 9999999);
或者你可以通過傳遞setInterval()
函數本身而不調用它來延遲它。
setInterval(change, 9999999);
要么有效。 我個人發現第一個比第二個更清楚一點意圖。
你有setInterval(change(), 99999999);
它應該是setInterval(change, 99999999);
。 請參閱setInterval / setTimeout文檔。 :)
常見的錯誤,一直發生在我身上。 :)
更改setInterval(change(), 99999999);
to setInterval(change, 99999999);
如您所知,99999999表示99999999毫秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.