我有以下脚本:
$('.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个元素,正如预期的那样。
任何建议都非常感谢。
答案 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
。这可能会导致问题