swiper自定义分页点击跳转指定页面

swiper自定义分页点击跳转指定页面

mySwiper.slideTo(index, speed, runCallbacks),控制Swiper切换到指定slide。

参数名类型是否必填描述
indexnum必选指定将要切换到的slide的索引
speednum可选切换速度(单位ms)
runCallbacksboolean可选设置为false时不会触发transition回调函数

(更多方法见Swiper官网)

效果图如下:
在这里插入图片描述

<!--banner开始-->
<div class="banner">
    <div class="swiper-container">
        <div class="swiper-wrapper">
            <div class="swiper-slide">
                <img src="Static/Images/banner_1.jpg" alt="banner">
            </div>
            <div class="swiper-slide">
                <img src="Static/Images/banner_1.jpg" alt="banner">
            </div>
        </div>
        <div class="swiper-button-prev"></div><!--左箭头。如果放置在swiper-container外面,需要自定义样式。-->
        <div class="swiper-button-next"></div><!--右箭头。如果放置在swiper-container外面,需要自定义样式。-->
        <!--分页器 -->
        <div class="swiper-pagination"></div>
    </div>
</div>
<script>
    var mySwiper = new Swiper('.swiper-container', {
        autoplay: true,//可选选项,自动滑动
        loop: true, // 循环模式选项,true 循环播放
        observer: true,//实时检测,动态更新
        navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
        },//前进后退箭头
        pagination: {//自定义分页
            el: '.swiper-pagination',
            type: 'custom',
            autoplayDisableOnInteraction: false,
            renderCustom: function (swiper, current, total) {
                var paginationHtml = " ";
                for (var i = 0; i < total; i++) {
                    // 判断是不是激活焦点,是的话添加active类,不是就只添加基本样式类
                    if (i === (current - 1)) {
                        paginationHtml += '<span class="swiper-pagination-customs swiper-pagination-customs-active"><p class="swiper-pagination-li"></p></span>';
                    } else {
                        paginationHtml += '<span class="swiper-pagination-customs"><p class="swiper-pagination-li"></p></span>';
                    }
                }
                return paginationHtml;
            },
        },
    });
    $('.swiper-pagination').on('click','span',function(){
        var index = $(this).index()+1 ;
        mySwiper.slideTo(index, 1000, false)//切换到对应的slide,速度为1秒

    });


</script>
<!--banner结束-->

/*banner*/
.banner {
    position: relative;
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
}

.swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 32px;
    height: 32px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 27px 44px;
    -webkit-background-size: 27px 44px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next {
    background-image: url("../Images/banner_right.png");
    right: 10px;

}

.swiper-button-prev {
    background-image: url("../Images/banner_left.png");
    left: 10px;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide img {
    width: 100%;
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination-custom {
    bottom: 12%;
    left: 0;
    width: 100%;
    height: 20px;
    text-align: center;
}

.swiper-pagination-li {
    width: 6px;
    height: 6px;
    background-color: #fff;
    position: absolute;
    top: 6px;
    left: 6px;
    border-radius: 50%;
}

.swiper-pagination-customs {
    width: 18px;
    height: 18px;
    display: inline-block;
    cursor: pointer;
    background: none;
    opacity: 1;
    border-radius: 50%;
    margin: 0 5px;
    outline: 0;
    position: relative;
}

.swiper-pagination-customs-active {
    opacity: 1;
    border: 1px solid #fff;
    background: none;
}

.banner-container {
    position: absolute;
    z-index: 999;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    text-align: center;
    color: #fff;
}

.banner-container img {
    width: 80px;
    height: auto;
    display: table-cell;
    margin: 0 auto;
}

.banner-container .big-title {
    font-size: 44px;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 16px;
}

.banner-container .small-title {
    font-size: 20px;
    letter-spacing: 5px;
    margin: 14px 0;
}

.banner-btn {
    display: flex;
    justify-content: space-around;
    width: 45%;
    margin: 0 auto;
    margin-top: 30px;
}

.banner-btn .btn {
    width: 120px;
    height: 36px;
    border: 1px solid #fff;
    line-height: 36px;
    border-radius: 36px;
    font-size: 14px;
    transition: all 0.5s;
}

.banner-btn .btn:hover {
    width: 120px;
    height: 36px;
    border: 1px solid #fff;
    line-height: 36px;
    border-radius: 36px;
    font-size: 14px;
    color: #000000;
    background: #fff;
    font-weight: 600;
    cursor: pointer;
}

/*banner*/

此文章作为学习交流使用,如有错误请大家指出,谢谢~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值