2012-03-09 36 views
0

我有這個小功能,給予,因爲i is undefined錯誤簡單的JavaScript函數:錯誤使用的setInterval

var i = 0 
    setInterval(function(i){ 
     var i = (i < $(".news-items li").length) ? i++ : 0 ; 
     $(".news-items li").hide(); 
     $(".news-items li:eq("+i+")").show(); 
    }, 1000) 

任何人都可以發現這個問題?

回答

2
setInterval(function(i){ 

您將在本地匿名函數中聲明i作爲局部變量。在函數的參數列表中刪除i

var i = 0 
setInterval(function(){ 
    // Note that this will NOT update the global "i" 
    // if you want it to, remove "var" 
    // Also change "i++' to "i+1" 
    var i = (i < $(".news-items li").length) ? i+1 : 0 ; 
    $(".news-items li").hide(); 
    $(".news-items li:eq("+i+")").show(); 
}, 1000) 
+0

很好用!謝謝。 – greener 2012-03-09 19:53:16

+0

不客氣:-) – 2012-03-09 19:54:23