微信小程序轮播图的实现
Posted zhoushenxian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序轮播图的实现相关的知识,希望对你有一定的参考价值。
在android或者ios中几乎所有的app都有轮播图这个效果,在android中一般是使用viewpager来实现的,在微信小程序中一般是用
swiper这个标签来实现的,我们在微信小程序文档中可以查看所有的标签,如图:
这些组件看做是Android的什么textview,button imageview等就行了.
swiper在文档中是指:滑块视图容器
它的属性如下:
属性名 | 类型 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|
indicator-dots | Boolean | false | 是否显示面板指示点 | |
indicator-color | Color | rgba(0, 0, 0, .3) | 指示点颜色 | 1.1.0 |
indicator-active-color | Color | #000000 | 当前选中的指示点颜色 | 1.1.0 |
autoplay | Boolean | false | 是否自动切换 | |
current | Number | 0 | 当前所在滑块的 index | |
current-item-id | String | "" | 当前所在滑块的 item-id ,不能与 current 被同时指定 | 1.9.0 |
interval | Number | 5000 | 自动切换时间间隔 | |
duration | Number | 500 | 滑动动画时长 | |
circular | Boolean | false | 是否采用衔接滑动 | |
vertical | Boolean | false | 滑动方向是否为纵向 | |
previous-margin | String | "0px" | 前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值 | 1.9.0 |
next-margin | String | "0px" | 后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值 | 1.9.0 |
display-multiple-items | Number | 1 | 同时显示的滑块数量 | 1.9.0 |
skip-hidden-item-layout | Boolean | false | 是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息 | 1.9.0 |
bindchange | EventHandle | current 改变时会触发 change 事件,event.detail = current: current, source: source | ||
bindanimationfinish | EventHandle | 动画结束时会触发 animationfinish 事件,event.detail 同上 | 1.9.0 |
我们刚开始接触,没事可以每个属性去玩下,只有玩熟了,以后你才可以玩它
现在开始动手写代码,在page目录下新建一个posts文件目录
然后创建对象的红框4个文件
在wxml下随便写一个标签,看看是否能预览
<text>我是轮播图</text>
要预览这个效果,首先要配置它是第一个启动界面,那么这个怎么配置呢?在我们的全局app.json中配置
"pages":[
"page/posts/posts",
"page/welcome/welcome"
],
"window":
"navigationBarBackgroundColor": "#eeeeee"
在pages属性中 排在第一个位置微信小程序规定是启动页,配置好了就可以预览了,no,你打开调试器发现报错
怎么解决,就是在posts.json 中写一个空的json 就行了
还是回到讲轮播图 swiper上, 那么每个轮播图的子界面是用什么表示呢? 答案是<swiper-item>
下面是我定义的轮播图 三张同样的图片:
效果图:
你会发现宽度没占满屏幕,那么好 我就设置image标签的宽度
<image src='/images/bg.png' style="width:100%"></image>
发现宽度是可以的占满全屏了,那么如果图片的高度要和swiper标签的高度一致呢? 那么就要在swiper标签中设置高度和image的高度是一致的才可以,如果你在swiper-item设置而没在swiper设置是没用的,因为swiper-item的高度是用swiper标签中的高度和宽度,如果swiper没设置,在swiper-item设置是不起作用的,这也是为什么swiper的高度要和image设置的高度是一样的
还有点很奇怪的事,就是swiper-item可以设置是图片 也可以设置是text文本 这就是牛逼的地方了
通常我们在轮播图都有个点,这个怎么加呢?很简单 ,看文档就知道:
indicator-dots | Boolean | false | 是否显示面板指示点 |
默认是不显示的,要显示就改为true,还有什么自动滑动等属性,自己去试试就知道了.
当然一般数据都是来自服务端的,在这只是模拟下而已,后面会说到从服务端获取数据然后显示.
以上是关于微信小程序轮播图的实现的主要内容,如果未能解决你的问题,请参考以下文章
uniapp外包杯学习笔记day07 | 微信小程序轮播图分类导航楼层图的开发与实现