0

私は2つの問題に直面しています

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();

ティッカー関数自体の場合:

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

フィドルを更新しました。

于 2013-05-31T07:56:59.470 に答える