次の HTML マークアップがあります。
<div class="caption">
<img class='active' alt='My Caption' src='path/to/image' />
<div>My Caption</div>
</div>
<div class="caption">
<img alt='My Caption 2' src='path/to/image' />
<div>My Caption 2</div>
</div>
キャプションは、いくつかの JS を使用して alt タグからこれらの DIV 内に配置されています。
$('#slider img').each(function() {
$(this).wrap('<div class="caption"></div>').after('<div>' + $(this).attr('alt') + '</div>');
$('.caption').width($(this).width()).children('div').each(function() {
$(this).css({width: $(this).siblings('#slider img').width() -10, opacity: 0.5, display: 'block'});
});
});
私が抱えている問題は、画像を「スライド」させようとするときです。以前はうまくいきましたが、キャプションを追加したところ、問題が発生しました。
これが起こるはずのことです:
クラスをアクティブに設定し、画像をフェードインする各画像を通過します。キャプションなしで正常に機能しましたが、キャプションがあるので、キャプションが含まれるdivにアクティブなクラスを配置しています.
ここに私のJSがあります
function simpleSlider(){
var $active = $('#slider img.active');
if($active.length == 0) $active = $('#slideshow img:last');
var $next = $active.next('img').length ? $active.next()
: $('#slider img:first');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active');
$active.css({opacity: 0.0});
})
}
私のキャプションを言っているdivの代わりに、次の画像を選択するにはどうすればよいですか?
これがあまり意味をなさない場合は申し訳ありません。