2014-03-12 41 views
2

我在页面上有两个Swipers,它们已链接并同步。两者都是环状的,并显示大约60张幻灯片(长度是动态的)。这两个Swipers都有分页功能,并且在'next'和'previous'按钮(.swipePrev()和.swipeNext())上都可以正常工作。iDangerous Swiper在onSlideClick后不同步

第一个Swiper只显示一个大图像,第二个是带有缩略图的旋转木马(显示活动的旋转木马,以及前两张和下两张幻灯片)。当我在任何一个页面上进行翻页时,活动索引被更新并且活动幻灯片以小格式为中心,大格式也被更新。

我现在想添加功能,当我点击旋转木马中的幻灯片时也更新两个滑块。我将下面的代码添加到传送带上:

onSlideClick: function() { 
    accoPager.swipeTo(accoPager.clickedSlideIndex); 
    accoSlider.swipeTo(accoPager.activeIndex); 
} 

这很好,当我点击一次,但第二次点击它不工作了。

有趣的事情,在我使用常规寻呼机(两侧的箭头按钮)后,或者我滑动,事件再次工作。似乎发生的情况是,当使用.swipeTo()时,活动索引未正确更新,但在使用.swipeNext()或.swipePrevious()时已更正。

的Swipers的初始化(大一第一):

slider= $('#acco-slider-top').swiper({ 
    mode: 'horizontal', 
    paginationClickable: true, 
    slidesPerView: 'auto', 
    loop: true, 
    loopedSlides: 99, 
    onTouchEnd: function() { 
     pagerCarousel.swipeTo(slider.activeIndex); 
    } 
}); 

pagerCarousel = $('#pager-area .swiper-container').swiper({ 
    mode: 'horizontal', 
    paginationClickable: true, 
    slidesPerView: 'auto', 
    offsetPxBefore: 144, 
    loop: true, 
    loopedSlides: 99, 
    onTouchEnd: function() { 
     slider.swipeTo(pagerCarousel.activeIndex); 
    }, 
    onSlideClick: function() { 
     pagerCarousel.swipeTo(pagerCarousel.clickedSlideIndex); 
     slider.swipeTo(pagerCarousel.clickedSlideIndex); 
    } 
}); 

我尝试设置活动的索引,但不起作用。当我在onSlideClick事件中发出警告时,我发现该事件仍与Swiper链接,但它在swiper代码中的某处停止。

有没有人也有这个问题,以及最好的方式是什么?我认为这与params有关.onSlideClick _this.allowSlideClick在Swiper代码中切换,但我无法确切地指出。

编辑:不unimportantly,我使​​用的是组队,探索2.4.2+

回答

0

这应该工作,很难说哪里是不看活生生的例子问题。检查这个例子,它是如何做到这一点,也许它会有帮助http://goo.gl/Nc2M5P

+1

我改变了我的代码看起来更像你的,然后它确实有效。但是,如果我尝试打开循环,则会再次打破。 有没有办法循环幻灯片,当使用你的例子? –

相关问题