jQuery - var未定义

时间:2011-08-08 09:33:29

标签: jquery

我有以下脚本:

    $('.news ul li').hide();
    $('.news ul li:first-child').show();


    function Roller() {
        var CurrectNews = $('.news ul li').filter(':visible');
        var FirstNews = $('.news ul li:first-child');

        if ( $(CurrectNews).is(':last-child') ){    
                $(CurrectNews).fadeOut('slow');
                $(FirstNews).fadeIn('slow');
           } else {
               $(CurrentNews).fadeOut('slow');
               $(CurrentNews).next().fadeIn('slow');            
        }
    }
    setInterval(Roller, 5000);

当我运行它时,FireBug会说CurrentNews is underfinded。为什么呢?

当我查看$('.news ul li').filter(':visible');时,它会找到1个元素,正如预期的那样。

任何建议都非常感谢。

3 个答案:

答案 0 :(得分:4)

检查拼写:

CurrectNews
     ^

CurrentNews
     ^

...是不同的变量名。

答案 1 :(得分:2)

你有几个错别字。尝试

function Roller() {
    var CurrentNews = $('.news ul li').filter(':visible');
    var FirstNews = $('.news ul li:first-child');

    if ( CurrentNews.is(':last-child') ){    
            CurrentNews.fadeOut('slow');
            FirstNews.fadeIn('slow');
       } else {
           CurrentNews.fadeOut('slow');
           CurrentNews.next().fadeIn('slow');            
    }
}

答案 2 :(得分:1)

看来你可能有一个拼写错误:

if ( $(CurrectNews).is(':last-child') ){    
            $(CurrectNews).fadeOut('slow');
            $(FirstNews).fadeIn('slow');
       } else {
           $(CurrentNews).fadeOut('slow');
           $(CurrentNews).next().fadeIn('slow');            
    }

CurrentNews的前两个实例实际上是CurrectNews。这可能会导致问题

编辑:昆汀先到达那里:)