在微信小程序中,轮播图上的小圆点默认样式为黑灰色,这在视觉体验上不是很惊艳眼球,有时达不到我们的需求。那么,怎样进行默认样式的改变呢?

需要准备的东西:3张图片(swiper1,swiper2,swiper3)~

为了方便大家理解代码以及本地图片的引入,这里把我的文件结构也show~

一、方法1

采用官方提供的swiper属性(indicator-color与indicator-active-color)进行改变,不熟悉的请点击这里,所有属性都有->

https://mp.weixin.qq.com/debug/wxadoc/dev/component/swiper.html

效果:

首先来看改变后的效果~

源码:

wxml代码

<swiper class="swipers" indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" indicator-color="{{beforeColor}}" indicator-active-color="{{afterColor}}"><block wx:for="{{imgs}}"><swiper-item><image src="{{item.url}}"></image></swiper-item></block>
</swiper>

wxss代码

.swipers{height: 350rpx;}

js代码

Page({data: {imgs: [{url: '../../images/swiper1.jpg'},{url: '../../images/swiper2.jpg'},{url: '../../images/swiper3.jpg'}],indicatorDots: true,//显示面板指示点autoplay: true,//自动播放beforeColor: "white",//指示点颜色afterColor: "coral"//当前选中的指示点颜色}
})

说明:

这种方法修改小圆圈的默认样式有很多的局限性,只能修改颜色,别的no~

二、方法2

此方法改进了方法1的局限性,不仅仅只是简单的修改显示的颜色,比如能改变形状,大小等等。思路如下:

禁用掉swiper的indicator-dots属性(即删掉),然后用view组件模拟dots。

其实,一开始我做成了与前面的效果一样(但代码不同),方便比较~->哈哈,其实,用类同这个词语还是比较恰当吧,毕竟小圆点比方法1中的大。

效果如下:

源码:

wxml代码

<view class="wrap"><swiper class="swipers" autoplay="{{autoplay}}" current="{{currentSwiper}}" bindchange="swiperChange">  <block wx:for="{{imgs}}">  <swiper-item>  <image src="{{item.url}}"></image>  </swiper-item>  </block>  </swiper>  <!--重置小圆点的样式  --><view class="dots">  <block wx:for="{{imgs}}">  <view class="dot{{index == currentSwiper ? ' active' : ''}}"></view>  </block>  </view>
</view>

wxss代码

/*其实,正常情况下,没必要加.wrap,多余,但由于.dot要绝对定位到swiper上,而swiper中不能包裹其他的元素
(除了swiper-item),所以只好加个.wrap用来约束.dot  */
.wrap{height: auto;position: relative;
}swipers{  height: 350rpx;
}  /*用来包裹所有的小圆点  */
.dots{  width: 156rpx;height: 36rpx; display: flex;flex-direction: row;position: absolute;left: 320rpx;bottom: 20rpx;
}
/*未选中时的小圆点样式 */
.dot{  width: 26rpx;  height: 26rpx;   border-radius: 50%;margin-right: 26rpx;background-color: white;
}
/*选中以后的小圆点样式  */
.active{  width: 26rpx;   height: 26rpx;background-color: coral;
}

js代码

Page({data: {imgs: [{url: '../../images/swiper1.jpg'},{url: '../../images/swiper2.jpg'},{url: '../../images/swiper3.jpg'} ],currentSwiper: 0,autoplay:true},swiperChange: function (e) {this.setData({currentSwiper: e.detail.current})}
})  

说明:这种方法我们可以通过改变.dot与.active的样式来改变小圆圈的展示姿态,以满足我们的需求,我把代码改成如下,则效果为:

达到上述效果只需在方法2的基础上,把wxss的.dots、.dot、.active的样式替换成下面的即可,

此外,还有一种我们经常需要的效果:如下~

->那就是数字展示~

要达到上述这个效果,只需在方法2的基础上做如下修改即可:

第一、把wxml中的

 <view class="dot{{index == currentSwiper ? ' active' : ''}}"></view> 

修改为

 <view class="dot{{index == currentSwiper ? ' active' : ''}}">{{index+1}}</view> 

第二、把wxss的.dots、.dot、.active的样式替换成下面的即可;

/*用来包裹所有的小圆点  */
.dots{  width: 180rpx;height: 36rpx; display: flex;flex-direction: row;position: absolute;left: 300rpx;bottom: 20rpx;
}
/*未选中时的小圆点样式 */
.dot{  width: 32rpx;  height: 32rpx;   margin-right: 26rpx;background-color: yellow;border-radius: 50%;color: red;font-size: 26rpx;line-height: 32rpx;text-align: center;}
/*选中以后的小圆点样式  */
.active{  width: 32rpx;   height: 32rpx;background-color: coral;color: white;
}  

好了,至于实现方法肯定很多,毕竟每个人的思路不同,这儿只是一个启发~下面顺便讲点好玩的->swiper的vertical属性,这个可以实现轮播的垂直滚动。

实现过程~

首先,在swiper开始组件里加vertical="{{vertical}}",然后在js中将其设为true,表明垂直滚动,

然后在wxss中做下相应的样式改变,改变后的样式如下~


/*用来包裹所有的小圆点  */
.dots{    width: 180rpx;  height: 36rpx;   display: flex;  flex-direction: column;  position: absolute;  right:-80rpx;  bottom: 200rpx;
}
/*未选中时的小圆点样式 */
.dot{    width: 32rpx;    height: 32rpx;     margin-bottom: 20rpx;  background-color: yellow;  border-radius: 50%;  color: red;  font-size: 26rpx;  line-height: 32rpx;  text-align: center;  }
/*选中以后的小圆点样式  */
.active{    width: 32rpx;     height: 32rpx;  background-color: coral;  color: white;
}    

最终效果:

详解微信小程序swiper小圆点默认样式改变相关推荐

  1. 小程序swiper修改指示点样式

    小程序swiper修改指示点样式 小程序修改swiper指示点样式,实在无法忍受网上乱七八糟,很简单,几行样式就可以了,整的那么麻烦,有那空,睡会儿他不香,翻到这个文章的就别再找了,我这就是你要的答案 ...

  2. 微信小程序 — 小程序反馈与建议功能 及 小程序button按钮去除默认样式

    这节给大家讲解小程序 反馈与建议功能的实现. 我们做小程序难免会遇到一些未知的问题,这个时候给用户提供一个反馈与建议功能就显得至关重要了.这一节来带领大家实现小程序的反馈与建议功能. 先看效果图 还是 ...

  3. 关于微信小程序的image的默认样式

    小程序的图片用的是标签,他默认的大小是宽320px,高240px.那我们如果用图片的话,肯定不能用默认的大小,那image常用的除了src属性之外,还有一个mode属性,他有4中缩放模式,9种剪裁模式 ...

  4. 微信小程序:去掉button默认样式

    去除button默认样式: /* 去掉背景色和内外边距 */ button {margin: 0;padding: 0;background-color: inherit;position: stat ...

  5. 获取小程序各个组件的默认样式

    参考链接: 小程序组件默认样式 component default style 微信开发者工具是用 NW.js 写的,编辑器使用 VSCode 团队开源的 monaco-editor 实现,模拟器和调 ...

  6. 修改小程序radio组件的默认样式

    /* 默认背景样式*/ radio .wx-radio-input{width: 40rpx;height: 40rpx; }/* 选中后的 背景样式 (红色背景 无边框 可根据UI需求自己修改) * ...

  7. 详解微信开放平台第三方平台代小程序开发业务基本接口调用逻辑

    详解微信第三方小程序代开发 微信申请第三方之后可以获取授权方的很多权限,主要的是生码和待开发,生码的第三方授权之前已经写了一篇文章,最近做了小程序待开发,总结一下写下来供大家参考 由百牛信息技术bai ...

  8. 详解微信小程序开发(项目从零开始)

    关注公众号 风色年代(itfantasycc) 280G前端&小程序资料随便拿! 详解微信小程序开发(项目从零开始) 一.序 微信小程序,估计大家都不陌生,现在应用场景特别多.今天就系统的介绍 ...

  9. 详解微信小程序页面间传递信息的三种方式

    详解微信小程序页面间传递信息的三种方式 在开发微信小程序的时候,经常会遇到在页面间传递信息的情况,有三种方法可以实现. 1. 使用数据缓存 将要存储的数据使用以下方法放入缓存 wx.setStorag ...

最新文章

  1. tomcat 反代配置
  2. snake4444勒索病毒成功处理教程方法工具达康解密金蝶/用友数据库sql后缀snake4444...
  3. 文件上传时判断是否为图片
  4. 【Codeforces #228】Solutions
  5. mysql物流管理系统_物流配送中心管理系统(SSM+MYSQL)
  6. 基于穿戴式智能化步态分析仪的步态分析
  7. Altium Designer中PCB画多层板(4、6、8...层)
  8. pythonfor反向循环_Python for 循环语句
  9. pdo 参数绑定中 where 子句中的错误的解决
  10. WGS84坐标转换成国家大地坐标系2000
  11. pdf实现页眉或者页脚代码
  12. adb bugreport :查看设备所有信息(获取错误报告)
  13. ROS MoveIT1(Noetic)安装总结
  14. 先进PID控制Matlab仿真第4版-pdf课本+仿真程序
  15. p51 thinkpad 拆解_ThinkPad P51硬盘更换指南(图解)
  16. 梁春晓:互联网时代的社会创新与新公益形态
  17. 2021年了,还依赖PC端报表?推荐几款好用的移动报表软件给你!
  18. 【知识蒸馏】Masked Generative Distillation
  19. burp suite burp browser error
  20. WIFI / BT 驱动之—设备树配置

热门文章

  1. PHP 1000只狗,从第一头起算,求最后活着的狗 代码实现
  2. 机器学习各种模型评价指标:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线
  3. python 中 Matplotlib画图技巧
  4. Mysql导出数据库脚本
  5. windows10去掉登录密码
  6. Long转换为int
  7. Samsung S8+ 欧版 Google Play服务耗电快解决方案尝试
  8. 韩译中难吗,如何做好韩语翻译
  9. 摸金校尉聊浏览器渲染
  10. 关于智能手机中的人脸识别技术