【问题标题】:idangero.us swiper update tabs on slide swipeidangero.us 滑动滑动更新选项卡
【发布时间】:2014-06-02 15:42:45
【问题描述】:

使用 idangero.us swiper 构建移动应用演示:

http://www.idangero.us/sliders/swiper/

我已经几乎按照我想要的方式工作了,但有一个问题:

当您单击菜单中的一个选项卡时,它会将其类别更改为“活动”并滑动到正确的幻灯片。当用户手动滑动其中一张幻灯片时,我还需要更改选项卡类。因此,例如,如果您滑动到“关于我们”幻灯片,相应的选项卡应该会变为活动状态。

这里有一个例子:

"Tabs with Feedback"

当我在页面上有两个滑动器(一个用于导航,一个用于正文)时,我只是不知道如何使其工作。

这是 js:

$(function(){
//Init Navigation
var nav = $('.swiper-nav').swiper({
slidesPerView: 'auto',
freeMode:true,
freeModeFluid:true,
onSlideClick: function(nav){
pages.swipeTo( nav.clickedSlideIndex )
}
})

$(".swiper-nav a").on('touchstart mousedown',function(e){
e.preventDefault()
$(".swiper-nav .active").removeClass('active')
$(this).addClass('active')
tabsSwiper.swipeTo( $(this).index() )
})
$(".swiper-nav a").click(function(e){
e.preventDefault()
})

//Init Pages
var pages = $('.swiper-pages').swiper()

})

Fiddle is here

谢谢。

【问题讨论】:

  • @dongseok() 下面的解决方案有效。我对其进行了一些改进,并将上面的小提琴更新到完美。

标签: javascript jquery


【解决方案1】:

尝试使用来自 swiper API 的 onSlideChangeEnd 回调。

//Init Pages
var pages = $('.swiper-pages').swiper({
    onSlideChangeEnd: function(swiper, direction) {
        $(".swiper-nav .active").removeClass('active');
        $(".swiper-nav li:nth-child("+(swiper.activeIndex+1)+") a").addClass('active');
    }
});

Fiddle

【讨论】:

  • 谢谢@dongseok0。那成功了。我稍微编辑了您的脚本,因为当您单击链接时,该类变为活动的,但之前活动的 li 保留了它的类。所以现在我要删除两者(Fiddle 更新)现在唯一的问题是你不能总是看到活动选项卡。要明白我的意思,请将浏览器缩小到手机大小。将正文滑动到“服务”幻灯片。看看相应的选项卡是如何被部分遮挡的?有什么方法可以在滑动和点击时更改活动标签在导航中的位置?
猜你喜欢
  • 1970-01-01
  • 2012-01-03
  • 2015-12-17
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多