亲宝软件园·资讯

展开

uni-app使用swiper实现轮播图的方法

-耿瑞- 人气:0

uni-app轮播图实现之swiper

首先在data中定义一个图片数据的对象数组

data() {
	return {
		rotation: [
			{
				id: 1,
				url: 'https://imgcps.jd.com/ling4/100035927374/5Lqs6YCJ5aW96LSn/5L2g5YC85b6X5oul5pyJ/p-5bd8253082acdd181d02fa42/60f03300/cr/s/q.jpg'
			},
			{
				id: 2,
				url: 'https://img12.360buyimg.com/pop/s1180x940_jfs/t1/217650/27/18929/95548/627b69e5E7f4c1ff2/1a6be6e037e34e5c.jpg.webp'
			},
			{
				id: 3,
				url: 'https://imgcps.jd.com/ling4/100012043978/5Lqs6YCJ5aW96LSn/5L2g5YC85b6X5oul5pyJ/p-5bd8253082acdd181d02fa09/00d13111/cr/s/q.jpg'
			},
			{
				id: 4,
				url: 'https://imgcps.jd.com/ling4/100014348458/5Lqs6YCJ5aW96LSn/5L2g5YC85b6X5oul5pyJ/p-5bd8253082acdd181d02fa7f/aa5a1911/cr/s/q.jpg'
			}
		]
	}
},

然后利用
swiper标签循环rotation

<template>
	<view>
		<swiper
		  indicator-dots
		  indicator-active-color="#FFFFFF"
		  circular
		  autoplay
		>
			<swiper-item
			  v-for="item in rotation"
			  :key="item.id"
			>
				<image :src = "item.url"></image>
			</swiper-item>
		</swiper>
	</view>
</template>

swiper是一个uniapp专用的轮播图组件 indicator-dots属性表示允许组件展示切换图片的小点 这个肯定是要的

indicator-active-color 控制这几个小点的颜色 默认是黑色 这里我设置了白色

circular 是否循环轮播 比如 我们这里四张图片 我们向右拉 顺序是 1 2 3 4 当拉到第四张图 如果没设置circular 那就拉不动了

如果设置了circular 则会回到第一张

autoplay 设置用户没有操作时 轮播图自动循环播放

然后你们会发现 这里面的图片没有占满整个屏幕宽度

我们需要去给image设置一点css样式

image{
    width: 750rpx;
}

前面说过 rpx是按屏幕宽度计算的 750rpx为整个屏幕的宽度

完成这些操作后我们就会得到这样一搞效果

补充:uniapp swiper 自定义轮播图指示点

前言

uni-swipper-dot

uniapp官方推荐的swiper组件,该组件能够更换轮播图指示点,比如这样:

插件地址: https://ext.dcloud.net.cn/plugin?id=284

这里想说的是,在微信小程序发现该组件有时在切换图片时会有抖动现象(一直在高速反复切换图片)。

要想获得美美的轮播图指示点,可以参考如下方案

swiper组件支持对指示点换颜色

<swiper 
    :autoplay="true" :circular="true" :interval="5000" :duration="1000" 
    :indicator-dots="true" indicator-color="rgba(255, 255, 255, 0.6)" indicator-active-color="rgba(7, 193, 96, 0.7)" >
    <swiper-item v-for="(item, index) in bannerList" :key="index" @click="clickItem(item)">
        <view>
            <image :src="item.coverImg" mode="widthFix" />
        </view>
    </swiper-item>
</swiper>

总结 

加载全部内容

相关教程
猜你喜欢
用户评论