使用setInterval在简单的javascript函数上出错

时间:2012-03-09 19:39:34

标签: javascript jquery setinterval

我有这个小函数给出错误,因为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 个答案:

答案 0 :(得分: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)