使用 swiper 制作 导航,点击项居中

Posted janeblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 swiper 制作 导航,点击项居中相关的知识,希望对你有一定的参考价值。

 

目的:导航有多个,被点击的项居中显示。

html:

<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide">slider1</div>
        <div class="swiper-slide">slider2</div>
        <div class="swiper-slide">slider3</div>
        <div class="swiper-slide">slider4</div>
        <div class="swiper-slide">slider5</div>
        <div class="swiper-slide">slider6</div>
        <div class="swiper-slide">slider7</div>
        <div class="swiper-slide">slider8</div>
        <div class="swiper-slide">slider9</div>
    </div>
</div>

 

js:

var mySwiper = new Swiper(‘.swiper-container‘, {
    //autoplay: true, //可选选项,自动滑动
    loop:true,//设置 active slide 居中后,会有左右留白现象,添加此会让未尾的导航补齐前后空白
    slideToClickedSlide: true,//设置为true则点击slide会过渡到这个slide。
    slidesPerView: 5,
    centeredSlides: true,//设定为true时,active slide会居中,而不是默认状态下的居左。
    spaceBetween: 10,
    slidesOffsetBefore: 0,
    slidesOffsetAfter: 0,
})

$(‘.swiper-container .swiper-slide‘).on("click",function(){
    //mySwiper.activeIndex   过渡到的 slide 位置 
    mySwiper.slideTo(mySwiper.activeIndex, 1000, false);//切换到指定slide,速度为1秒
    
})

 

样式并未做修改,此时仅实现如下图效果,active 项始终会在中间显示

技术分享图片

因时间问题,没更多时间云看文档,如果有更好的办法可以去除当前项居中后的左右留白问题,欢迎评论指正。

以上是关于使用 swiper 制作 导航,点击项居中的主要内容,如果未能解决你的问题,请参考以下文章

vue的导航菜单怎么居中

微信小程序 使用swiper制作一个滑动导航

我想在每次选择底部导航项时初始化片段

是否可以使用 AndroidX 导航将片段中的操作栏标题居中?

使用导航从工具栏菜单项单击在片段之间传递数据 - Kotlin

如何制作带有居中徽标的导航栏? [复制]