今天项目用到swiper的自定义分页器,因为官网写的比较简单,而在网上看到也多数是之前版本的实例。通过多篇博客的参考,最后终于写出来了。javascript
我使用的是3版本以上,而发现之前的版本和新版API上面有些差异,因此这儿就主要以3+版本为参考。java
作自定义分页器的时候,咱们须要使用pagination的type和renderCustom这两个参数。app
panigation: { type: 'custom', renderCustom: function(swiper, current,total){} }
在作自定义分页器的时候,swiper会自动帮咱们在定义分页器时的元素“.swiper-pagination”加上".swiper-pagination-custom",若是前面已经在.swiper-pagination上面加了样式,就不须要在写样式了,没有就须要给"swiper-pagination-custom"定义样式(我作的时候没有加样式)spa
再定义两个类".swiper-pagination-customs"和".swiper-pagination-customs-active",用来自定义须要的分页器样式(.swiper-pagination-customs自定义,可是另外一个必须是active用来定义选中时的样式)blog
在renderCustom中循环轮播的页面,将新的分页器添加进去ip
let appSwiper = new Swiper('.swiper-comtainer',function(){ pagination:{ el: '.swiper-pagination', // 自定义分页器,必须的type类型 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-activ"></span>'; } paginationHtml = '<span class="swiper-pagination-customs"></span>'; } return paginationHtml; } } })
到这儿就完成了自定义分页器样式的整个过程了,快去试试吧。博客