微信小程序轮播图的实现

Posted zhoushenxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序轮播图的实现相关的知识,希望对你有一定的参考价值。

android或者ios中几乎所有的app都有轮播图这个效果,在android中一般是使用viewpager来实现的,在微信小程序中一般是用

swiper这个标签来实现的,我们在微信小程序文档中可以查看所有的标签,如图:

这些组件看做是Android的什么textview,button imageview等就行了.

swiper在文档中是指:滑块视图容器

它的属性如下:

属性名类型默认值说明最低版本
indicator-dotsBooleanfalse是否显示面板指示点 
indicator-colorColorrgba(0, 0, 0, .3)指示点颜色1.1.0
indicator-active-colorColor#000000当前选中的指示点颜色1.1.0
autoplayBooleanfalse是否自动切换 
currentNumber0当前所在滑块的 index 
current-item-idString""当前所在滑块的 item-id ,不能与 current 被同时指定1.9.0
intervalNumber5000自动切换时间间隔 
durationNumber500滑动动画时长 
circularBooleanfalse是否采用衔接滑动 
verticalBooleanfalse滑动方向是否为纵向 
previous-marginString"0px"前边距,可用于露出前一项的一小部分,接受 px 和 rpx 值1.9.0
next-marginString"0px"后边距,可用于露出后一项的一小部分,接受 px 和 rpx 值1.9.0
display-multiple-itemsNumber1同时显示的滑块数量1.9.0
skip-hidden-item-layoutBooleanfalse是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息1.9.0
bindchangeEventHandle current 改变时会触发 change 事件,event.detail = current: current, source: source 
bindanimationfinishEventHandle 动画结束时会触发 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-dotsBooleanfalse是否显示面板指示点

默认是不显示的,要显示就改为true,还有什么自动滑动等属性,自己去试试就知道了.

当然一般数据都是来自服务端的,在这只是模拟下而已,后面会说到从服务端获取数据然后显示.

 

以上是关于微信小程序轮播图的实现的主要内容,如果未能解决你的问题,请参考以下文章

uniapp外包杯学习笔记day07 | 微信小程序轮播图分类导航楼层图的开发与实现

微信小程序获取轮播图当前图片下标滑动展示对应的位数点击位数展示对应图片

自定义微信小程序swiper轮播图面板指示点的样式

微信小程序之轮播图

如何自定义微信小程序swiper轮播图面板指示点的样式

微信小程序自定义swiper轮播图面板指示点的位置