1

私はこのコードを持っています:

<div class="m-item m-active">
</div>

<div class="m-item">
</div>

<div class="m-item">
</div>

私がやりたいことは、ボタンをクリックすると、jquery が「m-active」のクラスを持つ「m-item」のクラスを持つ div を見つけ、その div から「m-active」クラスを削除して移動することです。次の "m-item" div へ。

ボタンをクリックすると、コードは次のようになります (m-active は 2 番目の div にあります)。

<div class="m-item">
</div>

<div class="m-item m-active">
</div>

<div class="m-item">
</div>

これを行う方法を知っている人はいますか?

ありがとうございました。

4

2 に答える 2

2

この回答は、最後に到達すると最初の要素へのラップアラウンドを処理します。どの要素もアクティブでない場合にも機能します。

ボタンがクリックされたら、アクティブな要素を見つけてから、jQuery next()関数を使用して next を見つけます.m-item。その項目が見つからない場合 ( next.length === 0)、最初の を取得し.m-itemます。最後にクラスを切り替えますm-active:

$('#get-next').on('click', function() {
    var active = $('.m-active');
    var next = active.next('.m-item');
    if(next.length === 0) {
         next = $('.m-item').eq(0);   
    }

    active.removeClass('m-active');
    next.addClass('m-active');    
});

ワーキングデモ

于 2013-07-17T16:51:42.677 に答える