swiper轮播图切换指示点改变背景颜色

swiper

官方api文档https://www.swiper.com.cn/api/index.html
如果有一个页面中需要引用多个Swiper,可以给每个容器加上ID或Class区分,但是需要保留默认的类名swiper-container。
如何初始化一个swiper
html:

<div class="swiper-container">
	<div class="swiper-wrapper ">
      <div class="swiper-slide">...</div>
	</div>
</div>

js:

var swiper = new Swiper('.swiper-container')

swiper组件

组件功能
Navigation按钮
Pagination分页器
Scrollbar滚动条
Autoplay自动切换

以上是我经常使用的一小部分。

  1. Navigation:可以用来设置前进和后退的按钮从而控制swiper的切换。(样式可以自己定义)
<div class="swiper-container">
	<div class="swiper-wrapper ">
      <div class="swiper-slide">...</div>
	</div>
	<div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
</div>
<script>
    var swiper = new Swiper('.swiper-container', {
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
    });
  </script>

2.Pagination:分页器可设置小圆点样式(默认)、分式样式或进度条样式,下面用的是默认的小圆点样式,上面实例也是用的类似的。

<div class="swiper-container">
	<div class="swiper-wrapper ">
      <div class="swiper-slide">...</div>
	</div>
	<div class="swiper-pagination"></div>
</div>
<script>
    var swiper = new Swiper('.swiper-container', {
       pagination: {
        el: '.swiper-pagination',
        type: 'fraction',
      }
    });
  </script>

其中type为swiper分页器的样式,其他样式还有:‘bullets’圆点,‘fraction’分式,‘progressbar’进度条,‘custoom’自定义
3.scrollbar:滚动条(用法和上面一样大同小异)。
4.Autoplay:自动切换。有两个值true/flase(默认)
当为true时启动自动切换。

<div class="swiper-container">
	<div class="swiper-wrapper ">
      <div class="swiper-slide">...</div>
	</div>
</div>
<script>
var mySwiper = new Swiper('.swiper-container', {
  autoplay:true,//等同于以下设置
  /*autoplay: {
    delay: 3000,
    stopOnLastSlide: false,
    disableOnInteraction: true,
    },*/
});
</script>

其中,delay为自动切换的时间间隔,单位为ms
例如:delay:4000 //4秒切换一次。
stopOnLastSlide为当切换到最后一个slide时是否自动停止,有两个值true/false
默认值为false,当值为true时切换到最后一个slide时自动停止。

实例

在前几天做h5移动端的时候,发现项目里有个轮播图切换,且指示点为文字背景颜色随着轮播图切换而改变,效果如下图:
在这里插入图片描述
在这里插入图片描述
多次百度未果决定自己写一下,下面是代码:

<div class="swiper-card">
	<div class="swiper-container swiper2" id="swiper-container-2">
	    <div class="swiper-wrapper ">
	      <div class="swiper-slide"><img src="img/part-5-slide-1.36470d1.png"/></div>
	      <div class="swiper-slide"><img src="img/part-5-slide-2.cc4e700.png"/></div>
	      <div class="swiper-slide"><img src="img/part-5-slide-3.cd3828e.png"/></div>
	      <div class="swiper-slide"><img src="img/part-5-slide-4.fe1487a.png"/></div>
		    </div>
   		 <!-- Add Pagination -->
    	<div class="swiper-pagination pagiation"></div>
 	</div>
  </div><!--swiper-card-->
	<script>
    var swiper2 = new Swiper('.swiper2', {
    	spaceBetween: 30,
      centeredSlides: true,
      autoplay: {
        delay: 2500,
        disableOnInteraction: false,
      },
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
        renderBullet: function (index, className) {
          switch(index){
            case 0:text='兴趣编程';break;
            case 1:text='兴趣编程';break;
            case 2:text='兴趣编程';break;
            case 3:text='兴趣编程';break;
          }
          return '<div class="' +  className + '">'+'<div class="s' +(index+1) + '">'+text+'</div>'+'</div>';
        },
      },
    });
  </script>

然后再更改一下css就可以实现基本的效果了。
和普通的swiper切换没太大的区别 主要的就是用了自定义分页器:
renderBullet(index, className)
渲染分页器小点。这个参数允许完全自定义分页器的指示点。接受指示点索引和指示点类名作为参数。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值