0

我正在使用 jQuery 循环。那是我的 JS:

$(".page-social-media .works_gallery .slider_cycle").each(function(){
    var id_nr = $(this).attr('rel');
    $(this).cycle({ 
        fx:    'scrollHorz',
        speed:  500,
        timeout: 0, 
        next:   '#next_' + id_nr, 
        prev:   '#prev_' + id_nr,
    });
}); 

使用了startingSlide 选项,但scrollHorz 效果崩溃并在最后一个显示第一个图像。如何跳过我画廊中的第一张图片?

更新:

我的 HTML 结构是动态的。像这样:

<ul class="slider_cycle">
    <li><img src="http://dummyimage.com/800x600/4d494d/686a82.gif&text=placeholder+image" alt="placeholder+image" rel="160"></li>
    <li><img src="http://dummyimage.com/800x600/4d494d/686a82.gif&text=placeholder+image" alt="placeholder+image" rel="160"></li>
    <li><img src="http://dummyimage.com/800x600/4d494d/686a82.gif&text=placeholder+image" alt="placeholder+image" rel="160"></li>
    <li><img src="http://dummyimage.com/800x600/4d494d/686a82.gif&text=placeholder+image" alt="placeholder+image" rel="160"></li>
</ul>
4

1 回答 1

0

如果第一个图像始终存在,您应该能够执行以下操作:

$(".page-social-media .works_gallery .slider_cycle").each(function(){
    var id_nr = $(this).attr('rel');
    if ($(this).is(':first-child') == false){
        $("#" + id_nr).cycle({ 
        fx:    'scrollHorz',
        speed:  500,
        timeout: 0, 
        next:   '#next_' + id_nr, 
        prev:   '#prev_' + id_nr,
    });
   } else{
   $(this).style('display', 'none');
   }
}); 

这样,如果元素是第一个子元素 - 最上面的图片,它会将 display 设置为 none,否则它将正常循环,但这取决于 html 的格式 - 第一个图像是否被带走,等等.

于 2013-06-03T12:23:46.400 回答