[英]Why is this simple javascript code not working?
var interval = 250
setInterval(function(){
if ( 1==1 ) {
interval = 5000
}
}, interval)
如果1 == 1,則應將間隔設置為5000,但將間隔保持為250。
因為在這種情況下interval
僅被評估一次,所以在調用setInterval
函數時(請注意與setInterval
參數函數的區別,它將被重復調用)。
要在第一次運行后更改間隔,可以改用setTimeout
,例如:
setTimeout(function() {
(function _t() {
// doSomethingUseful();
setTimeout(_t, 5000);
})();
}, 250);
您必須重新調用setInterval才能更改間隔。 我會改用setTimeout循環。
執行回調函數時,使用250作為參數調用setInterval,並且在函數中更改間隔值時,此更改不會影響先前的設置值。
setInterval將每250 MS調用一次回調,但是setInterval本身將被調用一次
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.