我有以下 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 说我的标题?
对不起,如果这没有多大意义。