本文实例为大家分享了小程序自定义轮播图圆点组件的具体代码,供大家参考,具体内容如下

小程序自定义轮播图圆点组件

微信小程序自带的轮播图小点,是一个圆点且在图片上展示,不美观。上图为自定义后的轮播图效果

代码如下:

wxhtml:

<!-- 轮播图 -->
    <view class="lbt">
      <swiper class="banner-list" style="height:100%;" circular="{{circular}}" indicator-dots='' autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" bindchange="swiperChange"> 
        <block wx:for="{{imgUrls}}" wx:key='{{item.id}}'>
          <swiper-item>
            <image src="https://www.freexyz.cn/dev/{{urls}}{{item.image}}" class="slide-image" width="100%" />
          </swiper-item>
        </block>
      </swiper>
      <!-- 这里是自定义控制组件的模块 -->
      <view class="dots">
      <block wx:for="{{imgUrls}}" wx:key="{{item.id}}">
      <!-- 循环图片张数有多少张图片就有多少个小点 -->
      <view class="dot{{index == swiperCurrent ? ' active' : ''}}"></view>
      </block>
      </view>
    </view>
  </view>

wxjs:

// 轮播图片改变时,小圆点也改
  swiperChange: function (e) {
    this.setData({
      swiperCurrent: e.detail.current
    })
  },

wxcss:

.lbt {
  position: relative;
  width: 100%;
  height: 300rpx;
  padding: 30rpx;
  box-sizing: border-box;
  border-radius: 10rpx;
}
.lbt .dots{
position: absolute;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: center;
}
.lbt .dots .dot{
margin: 0 6rpx;
width: 18rpx;
height: 10rpx;
background: #A2A2A2;
border-radius: 6rpx;
transition: all .6s;
}
.lbt .dots .dot.active{
width: 30rpx;
height: 10rpx;
background:#3d3d3d;
}

.slide-image {
  width: 100%;
  height: 100%;
  border-radius: 10rpx;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。