Javascript Ticker问题

时间:2011-01-31 17:19:11

标签: javascript

我发现了一些Javascript来创建新闻自动收录器 - 基本上只是旋转列表中的项目。

<script>
var ticker = $('ul.ticker');
ticker.children(':first').show().siblings().hide();
setInterval(function() {
    ticker.find(':visible').fadeOut(function() {
        $(this).appendTo(ticker);
        ticker.children(':first').show();
    });
},5000);
</script>

当我只有列表项时,它工作得非常好,但是当我将列表项放入链接时,它开始表现得很奇怪。我用firebug看了它,看起来它第一次就完成了,然后开始创建新的列表项:

<li style="display: none;"></li>

它似乎交替显示其中一个<li>然后第一次通过列表。

感谢您的帮助!

编辑1:HTML

<ul class="ticker">
<li><a href="#">News Item</a></li>
<li><a href="#">News Item 2</a></li>
</ul>

1 个答案:

答案 0 :(得分:2)

我认为,问题在于ticker.find(':visible')。如果您的链接包含在li中,那么该代码会在其中找到lia,并将它们单独附加到自动收报机。试试ticker.find('li:visible')

编辑:或ticker.children(':visible')