微信小程序swiper轮播图组件
In Heaven 人气:0在components中新建文件夹swiper
components/swiper/swiper.wxml
<!--components/swiper/swiper.wxml--> <view class="container"> <swiper class="swiper-box" bind:change="swiperChange" interval="4000" circular autoplay> <block wx:for="{{swiperList}}" wx:key="index"> <swiper-item> <image class="targetImg" src="{{item}}" mode="aspectFill"></image> </swiper-item> </block> </swiper> <!--重置小圆点的样式 --> <view class="dots"> <view class="dotsBox" style='width:{{(swiperList.length*26+swiperList.length*10) + "rpx"}}'> <!-- <view class="dotsBox" style='width:180rpx'> --> <block wx:for="{{swiperList}}" wx:key="index"> <text class="dot {{index == currentIndex ? 'dot-active' : ''}}"></text> </block> </view> </view> </view>
components/swiper/swiper.js
Component({ properties: { swiperList: { type: Array, value: []// 默认数据(可以从引用组件处的属性传入该属性值) } }, data: { currentIndex: 0 // 初始高亮下标 }, methods: { /* 这里实现控制自定义轮播指示点高亮 */ swiperChange(e) { this.setData({ currentIndex: e.detail.current }) } } })
components/swiper/swiper.wxss
/* components/swiper/swiper.wxss */ .container { position: relative; } .swiper-box { width: 100%; height: 364rpx; } .targetImg { width: 100%; height: 100%; } /*小圆点 */ .dots { width: 100%; height: 4rpx; display: flex; position: absolute; bottom: 30rpx; } .dotsBox { height: 4rpx; display: flex; margin: 0 auto; } /*未选中时的小圆点样式 */ .dot { width: 26rpx; height: 4rpx; border-radius: 2rpx; margin-right: 10rpx; background-color: #ffffff; opacity: 0.4; } /*选中以后的小圆点样式 */ .dot-active { opacity: 1; }
在pages文件中引用
json文件中
{ "usingComponents": { "w-swiper":"/components/swiper/swiper" } }
html文件中
<w-swiper swiperList="{{sprList}}" />
js文件中
data:{ sprList:['/images/img.png','/images/img.png'], }
加载全部内容