小程序轮播指示器的实现有哪些要点,详细如何做呢
Admin 2022-09-06 群英技术资讯 322 次浏览
1.文件目录
2.轮播图页面布局
需求:自定义轮播指示器:当轮播图发生变化时,自定义轮播指示器跟随图片发生对应改变
bindchange:current 改变时会触发 change 事件,即当图片索引发生变化时触发的事件
current:当前所在滑块的 index (number类型)
autoplay: 是否自动切换
interval: 自动切换时间间隔
circular: 是否采用衔接滑动
<view class="swiper">
<!-- bindchange:current 改变时会触发 change 事件-->
<swiper bindchange="change" autoplay interval="{{1500}}" circular>
<swiper-item wx:key="*this" wx:for="{{banners}}">
<image src="{{item}}" style="height: 150px;" />
</swiper-item>
</swiper>
<!-- 轮播图指示器 -->
<view class="dot">
<!--
index:小圆点的索引
current:图片的索引
-->
<text wx:key="this" wx:for="{{4}}" class="{{index===current?'active':''}}"></text>
</view>
</view>
3.轮播图样式文件
.swiper {
position: relative;
}
.dot {
display: flex;
justify-content: center;
position: absolute;
width: 100%;
height: 25rpx;
bottom: 20rpx;
}
.dot text {
width: 80rpx;
height: 25rpx;
border-radius: 20rpx;
background: peachpuff;
margin-right: 10rpx;
}
/* 小圆点高亮显示 */
.dot text.active{
background: red;
}
4.轮播图逻辑实现
Page({
/**
* 页面的初始数据
*/
data: {
// 用于记录小圆点的索引
current:0,
// 轮播图数据
banners: [
'../../assets/banners/01.jpg',
'../../assets/banners/02.jpg',
'../../assets/banners/03.jpg',
'../../assets/banners/04.jpg'
]
},
// 图片切换处理事件
change(e) {
// e.detail.current:小圆点的索引
// 更新数据
this.setData({current:e.detail.current});
}
})
5.实现效果
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JavaScript字符串转数字怎样做?在实际的项目中,常需要实现数据类型转换,对此本文就给大家简单的介绍一下字符串转数字的方法,对新手学习JavaScript数据类型转换有一定的帮助,接下来我们一起看看吧。
本文主要介绍React错误边界的内容,那么React错误边界是什么意思?怎么样使用呢?错误边界可以说是一种组件,错误边界可以捕获子组件的错误。接下来我们就具体的了解一下。
本篇文章给大家带来了关于javascript的相关知识,其中主要整理了Promise的基本概念及使用方法的相关问题,包括了Promise基本概念、使用Promise解决回调地狱等等内容,下面一起来看一下,希望对大家有帮助。
这篇文章主要介绍了JavaScript实现图片合成下载的示例,帮助大家更好的理解和学习JavaScript,感兴趣的朋友可以了解下
这篇文章给大家分享的是微信小程序中列表信息展开收起的效果的实现。小编觉得挺实用的,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008