uni、vue盲盒抽奖

这个功能当时用css动画做过,但是结果并不是太理想,所以我想到了用轮播图来实现。

很简单,直接上代码!

HTML布局

<view class="home">
	<swiper class="swiper"
             // 这里面的属性看下文档,里面都有
             :autoplay="value" //给autoplay一个变量
             circular
             disable-touch="false"
             :interval="100">

			    <!-- v-for循环遍历你要展示的数组 -->
			    <swiper-item v-for="(item, index) in data" :key="index">
			             <view class="item">{{ item.name }}</view>
				 </swiper-item>

	</swiper>
</view>
<button @click="openBoxClick">停止</button>
<button @click="BoxClick">开始</button>

JS

data() {
	return {
        // 默认为true
		value: true,
		data: [
			{ id: 1, name: 1 },
			{ id: 2, name: 2 },
			{ id: 3, name: 3 },
			{ id: 4, name: 4 },
			{ id: 5, name: 5 },
			{ id: 6, name: 6 },
			{ id: 7, name: 7 },
			{ id: 8, name: 8 },
			{ id: 9, name: 9 },
			{ id: 10, name: 10 }
		]
	};
},
methods: {
    // 点击按钮来改变autoplay的值
	openBoxClick() {
		this.value = false;
	},
	BoxClick() {
		this.value = true;
			
	}
}

CSS

.home {
	.swiper {
		width: 100%;
		background-color: black;
		/deep/.uni-swiper-slide-frame {
			width: 50% !important;
			left: -78px !important;
			.item {
				width: 176px;
				height: 149px;
				background-color: red;
				font-size: 20px;
				color: #ffffff;
				display: flex;
				justify-content: center;
				align-items: center;
			}
		}
	}
}

看效果图

 写成自动的话就给  this.value   这个赋值操作时候添加定时器即可。

总的来说用轮播图来写要比css动画简单多。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值