多个jQuery幻灯片显示问题

时间:2010-07-20 10:13:28

标签: jquery slideshow jquery-cycle

基本上我正在使用jQuery Cycle插件设置一个包含多个幻灯片的页面。每个幻灯片('。slideshow')都有一个寻呼机形式的导航('。controls')。但是每当我点击一个寻呼机图标时,所有幻灯片都会在页面淡入到下一张幻灯片。如何防止这种情况,以便只有相关的幻灯片有转换。我认为下面的代码可以工作但不是,我如何显示选择了哪个寻呼机图标?

我的代码如下:

$(document).ready(function(){
$('.slideshow').each(function(){
var $this = $(this), $ss = $this.closest('.slideshow');
var pager = $ss.find('.controls');

$this.cycle({
fx:     'fade',
speed:  'slow',
timeout: 5000,
pager:  pager,
pagerAnchorBuilder: function(idx, slide) {
// return sel string for existing anchor
return '.controls li:eq(' + (idx) + ') a';
}
}); 

});
});

html看起来像这样,但在页面上有倍数:

<div class="slider">
<div class="slideshow">
<a href="#" class="slider-item"><img src="img/temp-featuredwork.png" alt="icon" width="545" height="254" border="0" /></a>
<a href="#" class="slider-item"><img src="img/temp-featuredwork.png" alt="icon" width="545" height="254" border="0" /></a>
 <a href="#" class="slider-item"><img src="img/temp-featuredwork.png" alt="icon" width="545" height="254" border="0" /></a>
  <a href="#" class="slider-item"><img src="img/temp-featuredwork.png" alt="icon" width="545" height="254" border="0" /></a>
</div>
    </div>
     <!--/slider-->
    <ul class="controls">
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
     </ul>

1 个答案:

答案 0 :(得分:0)

这部分似乎很奇怪:

$('.slideshow').each(function(){
  var $this = $(this), $ss = $this.closest('.slideshow');
  var pager = $ss.find('.controls');

尝试

$('.slideshow').each(function(){
var $this = $(this);
var pager = $this.find('.controls');

您已经获得了与$ this匹配的.slideshow元素的引用,因此您不需要ss。

如果这不起作用,请发布您的HTML片段,或者甚至更好,在http://jsfiddle.net上设置测试并在此处进行链接。