1

我在http://belmontfeed.com/site/有一个(非常原始的)测试站点,我试图让右侧的垂直旋转木马控制左侧的照片。

上一个/下一个按钮可以正常工作,通常单击轮播项目会加载与其关联的照片,但每当我在轮播上使用 allowWrap 时,单击不再起作用。

我相信这是因为附加/前置混淆了单击功能所基于的计数,但我对 jQuery 相当陌生,不知道该转向哪里。

完整的代码应该可以在上面的网站上看到。任何帮助将非常感激!

if ( opts.allowWrap !== false ) {
  // prepend and append extra slides so we don't see any empty space when we
  // near the end of the carousel.  for fluid containers, add even more clones
  // so there is plenty to fill the screen
  // @todo: optimize this based on slide sizes
  opts.slides.slice(0, opts.slideCount).clone().css( slideCSS ).appendTo( wrap );
  if ( opts.carouselVisible === undefined )
     opts.slides.slice(0, opts.slideCount).clone().css( slideCSS ).appendTo( wrap );
  opts.slides.slice(0, opts.slideCount).clone().css( slideCSS ).prependTo( wrap );
  if ( opts.carouselVisible === undefined )
     opts.slides.slice(0, opts.slideCount).clone().css( slideCSS ).prependTo( wrap );

  wrap.find('.cycle-slide-active').removeClass('cycle-slide-active');
  opts.slides.eq(opts.startingSlide).addClass('cycle-slide-active');
}

UPDATE:最直接的点击功能代码如下:

$('#cycle-2 .cycle-slide').click(function(){ 
    var index = ($('#cycle-2').data('cycle.API').getSlideIndex(this)-8);   
    slideshows.cycle('goto', index); 
}); 

我添加了一个 ghetto 修复,只需将计数减去 8(因为这是前置的数量),但一旦达到数字 8,它就会停止运行,直到它自动旋转回 1。一个更可持续的修复将是可爱的......

4

2 回答 2

1

使用 jquery 的新规范,您可以调用

$(document).on('click', '.cycle-carousel-wrap > div', function(e) {...});

这样,jquery 每次都会找到对象,而不管它是否被修改/附加/等。

希望这可以帮助!

于 2013-03-10T20:46:16.857 回答
0

修复!通过快速修复并将运算符从“-”切换到“%”,我能够达到我想要的结果。要将其设置为动态数字,我只需将八个换成一个表示循环帖子数量的变量。

$('#cycle-2 .cycle-slide').click(function(){ 
    var index = ($('#cycle-2').data('cycle.API').getSlideIndex(this)%8);   
    slideshows.cycle('goto', index); 
}); 
于 2013-03-11T01:21:52.650 回答