Jquery 如何防止在setInterval()上显示:first

Jquery 如何防止在setInterval()上显示:first,jquery,Jquery,我面临两个问题 1) 我使用以下代码隐藏所有元素,但只显示。ticker a:first $.each($('.ticker a'), function(){ $(this).hide(); $('.ticker a:first').show(); }); 这是可行的,但问题是,每当我使用下面的函数为ticker设置动画时,它都会再次显示。ticker a:首先 function ticker(){ $.each($('.ticker a'), function(){

我面临两个问题

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

$.each($('.ticker a'), function(){
    $(this).hide();
    $('.ticker a:first').show();
});
这是可行的,但问题是,每当我使用下面的函数为ticker设置动画时,它都会再次显示
。ticker a:首先

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

}
setInterval(ticker, 2000);
2) 设置
.wrapper
动画时,div闪烁,而
slideDown()
。我怎样才能防止呢

以下是代码不好的原因:

$.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();
}