3

したがって、このマークアップを使用して単純なスライドショー コントロールを作成しています。

<div class="previous"> </div>
<div class="next"> </div>
<div class="gallery"> </div>
    <div class="image-0"> </div>
    <div class="image-1"> </div>
    <div class="image-2"> </div>
    <div class="image-3 active"> </div>
    <div class="image-8"> </div>
    <div class="image-9"> </div>
    <div class="image-10"> </div>
    <div class="image-11"> </div>
</div>

そして、私は次のようにjQueryを使用してナビゲートしようとしています:

$('.next').click(function() {

    $('.active').next().addClass('active');
    $('.active').first().removeClass('active');


  });
$('.previous').click(function() {

    $('.active').prev().addClass('active');
    $('.active').last().removeClass('active');

});

そのため、最初の jQuery ブロックは期待どおりに機能し、最初にactiveクラスを次の div に割り当ててから、最初の div から削除します。2 番目のブロックは逆の方法で行う必要がありますが、前の項目にクラスを追加した後、最後の項目からクラスを削除しません。

私は間違った側からこの問題に取り組んでいますか? または、first() 関数と last() 関数の動作が異なるだけですか? jqueryのドキュメントからわかることから、これは機能するはずです。

4

1 に答える 1

3

あなたのコードで jsfiddle を作成しましたが、うまく動作します: http://jsfiddle.net/K5vN4/

(Firebug などを使用して、フィドルの「結果」領域を調べます。)

于 2011-10-18T16:49:24.670 に答える