だから、私はこのマークアップとシンプルなスライドショーコントロール構築しています:jQueryの.first()と.last()の動作は異なりますか?
<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のドキュメントからわかるように、これはうまくいくはずです。
http://jsfiddle.net/K5vN4/
http://jsfiddle.net/GYbRv/ –
コードに境界バグがありますが、コードはうまく動作します。http://jsfiddle.net/6vWx6/ –
ありがとう、liho1eyeとamit_g。しかし境界バグとは何ですか? – moraleida