Ошибка простой функции JavaScript с использованием setInterval - PullRequest
0 голосов
/ 09 марта 2012

У меня есть эта маленькая функция, выдающая ошибку, потому что i is undefined:

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)

Может кто-нибудь определить проблему?

1 Ответ

2 голосов
/ 09 марта 2012
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)
...