0

我面临两个问题

1)我使用以下代码隐藏所有元素但只显示.ticker a:first

$.each($('.ticker a'), function(){
    $(this).hide();
    $('.ticker a:first').show();
});

这行得通,但问题是每当我使用下面的函数为代码设置动画时,它都会.ticker a:first再次显示。

function ticker(){
    $.each($('.ticker a'), function(){
        $(this).slideUp();
    });
    $('.ticker a:first').slideUp(function() {
        $(this).appendTo($('.ticker')).slideDown();
    });

}
setInterval(ticker, 2000);

.wrapper2)在为div设置动画时,同时slideDown(). 我怎样才能防止这种情况?

这是小提琴

4

1 回答 1

2

这段代码不好:

$.each($('.ticker a'), function(){
    $(this).hide();
    $('.ticker a:first').show();
});

你想要的是这样的:

$('.ticker a').hide().filter(':first').show();

对于ticker函数本身:

function ticker(){
    $('.ticker a').first().appendTo($('.ticker')).slideUp().end().end()
                  .filter(':first-child').slideDown();
}

更新了小提琴

于 2013-05-31T07:56:59.470 回答