返回顶部
首页 > 资讯 > 前端开发 > JavaScript >使用swiper自定义分页点击跳转指定页面
  • 395
分享到

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

swiper分页swiper自定义分页swiper跳转指定页面 2023-05-15 17:05:54 395人浏览 八月长安
摘要

目录swiper自定义分页点击跳转指定页面swiper自定义分页器解决动态加载数据滑动失效的问题总结swiper自定义分页点击跳转指定页面 mySwiper.slideTo(inde

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 {
    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;
}


swiper自定义分页器

html部分

<div class="swiper-container">
     <div class="swiper-wrapper">
        <div class="swiper-slide">
            <img src="">
        </div>
     </div>
     <!-- 如果需要分页器 -->
     <div class="swiper-pagination"></div>
</div>

js部分

<script type="text/javascript" src="js/swiper-bundle.min.js"> </script>
 
var mySwiper = new Swiper(".swiper-container", {
    pagination: {
        el: '.swiper-pagination',
        clickable: true,
        type:'custom',   //自定义分页器
        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" ></span>';                                                                                                 
                }else{
                     paginationHtml += '<span class="swiper-pagination-customs" ></span>';
                }                      
            }
            return paginationHtml;
        },
    }
});
                   
//点击分页器跳转到对应页面
$(".swiper-pagination").on("click","span",function(){
        var index = $(this).index();
        mySwiper.slideTo(index);
})

CSS部分

.swiper-pagination-custom {
    height: 34px;
    text-align: end !important;  //这里设置分页器的位置 放在行的末尾
}

.swiper-pagination-customs {
    width: 34px;
    height: 34px;
    display:inline-block;
    border-radius: 5px;
    margin: 0 3px;
    outline: 0;
    box-sizing: border-box;
}
.swiper-pagination-customs:last-child{
    margin-right: 16px;
}

.swiper-pagination-customs-active {
    border: 2px solid #fcb916;
    width: 36px;
    height: 36px;
}

解决动态加载数据滑动失效的问题

1. 在swiper初始化加两行代码

var mySwiper = new Swiper('.swiper-container', { 
 
 observer:true,//修改swiper自己或子元素时,自动初始化swiper 
 observeParents:true//修改swiper的父元素时,自动初始化swiper 
 
});

2.在数据请求后初始化swiper

function getMess(){
    globalParams = {
        //发送请求的参数
    }
    api.post2("xxx/xxx/xxx", globalParams, function(res) {  //ajax请求
        var list = res.data.list;
        list.forEach((item) => {
                var itm = item.formModel.cgformFieldList
                var imgMess = itm[10].propertyLabel.split(",")
                var msg = ""      // 轮播详情
                imgMess.forEach((item) => {
                    msg += `
                        <div class="swiper-slide">
                            <img src="https://qiniu.hollysmart.com.cn/${item}">
                        </div>`
                    $(".swiper-wrapper").html(msg);//动态加载轮播项
 
                      //初始化轮播组件
                    var mySwiper = new Swiper(".swiper-container", {
                        pagination: {
                            el: '.swiper-pagination',
                            clickable: true,
                            type:'custom',
                            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" >' + `<img src="Https://xxx.com.cn/${imgMess[i]}">` + '</span>';
                                    }else{
                                        paginationHtml += '<span class="swiper-pagination-customs" >'+  `<img src="https://xxx.com.cn/${imgMess[i]}">` +'</span>';
                                    }                      
                                }
                                return paginationHtml;
                            },
                        }
                    });
                   
                    //点击分页器跳转到对应页面
                    $(".swiper-pagination").on("click","span",function(){
                        var index = $(this).index();
                        mySwiper.slideTo(index);
                    })
                    
                })
        })
    })
}

记录下Jquery的使用方法 ,方便后续的查看

之后运用到Vue时再继续写

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用swiper自定义分页点击跳转指定页面

本文链接: https://lsjlt.com/news/209293.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用swiper自定义分页点击跳转指定页面
    目录swiper自定义分页点击跳转指定页面swiper自定义分页器解决动态加载数据滑动失效的问题总结swiper自定义分页点击跳转指定页面 mySwiper.slideTo(inde...
    99+
    2023-05-15
    swiper分页 swiper自定义分页 swiper跳转指定页面
  • 怎么使用swiper自定义分页点击跳转指定页面
    这篇文章主要介绍“怎么使用swiper自定义分页点击跳转指定页面”,在日常操作中,相信很多人在怎么使用swiper自定义分页点击跳转指定页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用swiper自...
    99+
    2023-07-06
  • html怎么点击跳转到页面指定位置
    这篇文章主要为大家展示了“html怎么点击跳转到页面指定位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html怎么点击跳转到页面指定位置”这篇文章吧。  ...
    99+
    2024-04-02
  • Swiper自定义分页器的样式
    注: 不同版本的swiper使用的方式可能不一样,请参考swiper官网 swiper的使用它是有自己默认的分页器样式一般是为小点点,我们可以通过type属性去控制它的样式。 ‘bullets’  圆点(默认)‘fraction’  分式 ...
    99+
    2023-09-20
    前端 javascript css php
  • js如何实现点击返回跳转到指定页面
    这篇文章主要介绍了js如何实现点击返回跳转到指定页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js如何实现点击返回跳转到指定页面文章都会有所收获,下面我们一起来看看吧。功能描述:在浏览器中新建标签页并指定一...
    99+
    2023-07-04
  • 如何使用PHP跳转到指定页面
    PHP是一款强大的编程语言,许多人都喜欢使用它来创建动态网站。在PHP中,跳转是一个非常常见的操作,它可以使用户在不同的页面之间自由地浏览。在某些情况下,你可能需要指定跳转到一个特定的页面而不是到默认的页面。这篇文章将教你如何使用PHP跳转...
    99+
    2023-05-14
    php 跳转页面
  • 怎么使用PHP跳转到指定页面
    这篇“怎么使用PHP跳转到指定页面”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用PHP跳转到指定页面”文章吧。一、使...
    99+
    2023-07-05
  • php如何自动跳转到指定页面
    小编给大家分享一下php如何自动跳转到指定页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在php中,可以利用header()函数来自动跳转到指定页面;只需要在...
    99+
    2023-06-14
  • php超链接跳转指定页面跳转
    在网页设计中,超链接是一个经常使用的元素,它可以指向网站上的其他页面、外部链接、电子邮件地址以及其他网络资源。在本文中,我们将主要关注PHP超链接的指定页面跳转。首先,让我们看一下基本的HTML超链接,它可以指向其他网页的URL地址。例如,...
    99+
    2023-05-24
  • 如何使用Html5跳转到APP指定页面
    这篇文章主要介绍如何使用Html5跳转到APP指定页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.设置urlschemesurlschemes尽量设一个唯一的字符串,例如可以设为:iOS+公司英文名+ 项目工程...
    99+
    2023-06-09
  • vue 点击按钮 路由跳转指定页面的实现方式
    目录点击按钮 路由跳转指定页面最终效果vue跳转页面常用的方式1:router-link跳转2:this.$router.push()3:this.$router.replace()...
    99+
    2024-04-02
  • html如何跳转到指定页面
    本篇内容主要讲解“html如何跳转到指定页面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html如何跳转到指定页面”吧! 在htm...
    99+
    2024-04-02
  • 微信小程序用vant自定义tabbar页面并跳转相应页面
    0.前置安装 步骤一 安装 vant 组件库 npm i @vant/weapp -S --production 下载完后要npm构建才能使用 步骤二 修改 app.json 将 app.json 中的 "style": "v2" 去...
    99+
    2023-08-16
    微信小程序 小程序
  • php实现一个页面跳转到其它指定页面
    php实现一个页面跳转到其它指定页面 在PHP脚本代码中实现 在PHP脚本代码中实现 ...
    99+
    2023-09-05
    php 开发语言
  • jquery怎么跳转指定页面并刷新
    在网页开发中,经常需要跳转到指定页面,并在页面加载后执行一些操作。这时候,我们可以利用jQuery中的一些方法来实现这个功能。首先,我们需要使用jQuery的事件监听机制来监听页面的加载事件。通过监听这个事件,我们可以在页面加载完成后执行一...
    99+
    2023-05-14
  • 怎么实现javascript跳转到指定页面
    JavaScript是一种广泛用于Web页面交互和动态效果的编程语言。在Web开发中,跳转到指定页面是一项常见的任务,通常在用户点击一个链接或按下一个按钮时触发。本文将介绍不同方式的JavaScript跳转到指定页面的方法。window.l...
    99+
    2023-05-14
  • jquery如何模仿锚点跳转到页面指定位置
    这篇文章主要为大家展示了“jquery如何模仿锚点跳转到页面指定位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jquery如何模仿锚点跳转到页面指定位置”这...
    99+
    2024-04-02
  • 怎么使用PHP代码实现跳转到指定页面
    这篇文章主要介绍了怎么使用PHP代码实现跳转到指定页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用PHP代码实现跳转到指定页面文章都会有所收获,下面我们一起来看看吧。跳转到指定页面的方法有多种,其中最...
    99+
    2023-07-05
  • 使用springboot跳转到指定页面和(重定向,请求转发的实例)
    目录springboot跳转到指定页面controller的写法springboot重定向和请求转发springboot重定向springboot的请求转发springboot转发和...
    99+
    2024-04-02
  • Thinkphp如何自定义美化success和error提示跳转页面
    这篇文章主要介绍了Thinkphp如何自定义美化success和error提示跳转页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先贴效果图:优点:图标是有动画效果的,不需...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作