次と前のボタンを備えた単純な画像スライダーをコーディングしようとしています。しかし、特に最初の画像で前のボタンをクリックすると、リストを繰り返し処理する際に問題が発生します。スライダーには最後の画像が表示されます。多分誰かが私にヒントを与えることができます...
私のHTML:
<div id="slideshow">
<img src="img/slide11.jpeg" alt="" class="active">
<img src="img/slide31.png" alt="">
<img src="img/slide21.png" alt="">
</div>
クリックハンドラ:
$(document).ready(function () {
$('#next').bind('click', function() {
slideSwitchP('next');
});
$('#prev').bind('click', function() {
slideSwitchP('prev');
});
});
}
そして、これまでのjQueryコード(動作していません)
function slideSwitchP($control) {
var $active = $('#slideshow IMG.active');
var $next = $active.next().length ? $active.next() : $('#slideshow IMG:first');
var $prev = $next.prev().length ? $active.prev() : $('#slideshow IMG:last');
console.log('next', $next);
console.log('prev', $prev);
$active.addClass('last-active');
if($control === 'next'){
console.log($control);
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
if($control === 'prev'){
console.log($control);
//prev not working!
}
}
どんなアイデアでも大歓迎です!ありがとう!