vue简单实现九宫格抽奖
时间:2022-07-25
本文章向大家介绍vue简单实现九宫格抽奖,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>九宫格抽奖</title>
<style>
* {
padding: 0;
margin: 0;
}
.box {
position: relative;
width: 400px;
height: 400px;
margin: auto;
}
.draw {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100px;
height: 100px;
background: chocolate;
text-align: center;
line-height: 100px;
color: #fff;
cursor: pointer;
}
.row {
position: absolute;
width: 100px;
height: 100px;
line-height: 100px;
background: cadetblue;
color: #fff;
text-align: center;
}
.box .row:nth-child(1) {
top: 0;
left: 0;
}
.box .row:nth-child(2) {
top: 0;
left: 50%;
transform: translate(-50%, 0);
}
.box .row:nth-child(3) {
top: 0;
right: 0;
}
.box .row:nth-child(4) {
top: 50%;
right: 0;
transform: translate(0, -50%);
}
.box .row:nth-child(5) {
bottom: 0;
right: 0;
}
.box .row:nth-child(6) {
bottom: 0;
right: 50%;
transform: translate(50%, 0);
}
.box .row:nth-child(7) {
bottom: 0;
left: 0;
}
.box .row:nth-child(8) {
top: 50%;
left: 0;
transform: translate(0, -50%);
}
.active {
background: lightseagreen !important;
}
</style>
</head>
<body>
<div id="Vue">
<div class="box">
<div class="row" :class="select == index ? 'active' : ''" v-for="(item,index) in list" :key="index">
{{item.name}}</div>
<div class="draw" @click="startDraw()">抽奖</div>
</div>
</div>
</body>
<script src="https://cdn.suoluomei.com/common/js2.0/vue/v2.5.16/vue.js"></script>
<script>
new Vue({
el: "#Vue",
data: {
list: [
{
name: "手机"
},
{
name: "平板"
},
{
name: "电磁炉"
},
{
name: "洗衣机"
},
{
name: "衣柜"
},
{
name: "电脑"
},
{
name: "电视"
},
{
name: "冰箱"
},
],
flag: true,//是否开始抽奖
select: 0,//页面对应抽奖下标
timer: "",
count: 0
},
methods: {
startDraw() {
if (this.flag == true) {
this.flag = false
this.timer = setInterval(() => {
this.spinPrize()
}, 100)
}
},
spinPrize() {
var spin = 3 //旋转圈数
var win = 5 //中奖产品 0-7
this.select += 1
if (this.select > 7 && this.count != spin) {
this.select = 0
this.count += 1
}
if (this.select == win && this.count == spin) {
clearInterval(this.timer)
this.flag = true
this.count = 0
console.log("中奖产品为:" + this.list[this.select].name)
}
},
}
})
</script>
</html>
- 2014---多校训练一(A Couple doubi)
- hdu----(2586)How far away ?(DFS/LCA/RMQ)
- Golang控制goroutine的启动与关闭
- spring-boot-starter-swagger迎新伙伴支持,加速更新进度(1.3.0.RELEASE)
- poj----(1470)Closest Common Ancestors(LCA)
- 测试一下golang协程资源占有率
- poj----1330Nearest Common Ancestors(简单LCA)
- fasthttp中的协程池实现
- Oracle 12c R2版本 Application Containers 特性(二)
- go sync.Mutex 设计思想与演化过程 --转
- hadoop开发必读:认识Context类的作用
- Logback+ELK+SpringMVC搭建日志收集服务器
- 【译】Spring 官方教程:创建批处理服务
- Oracle12c R2版本Application Containers特性(三)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++核心准则T.41:在模板概念中只对本质属性定义需求
- Linux实用技巧——mail发送邮件命令以及中文乱码解决
- Julia机器学习实战——使用Random Forest随机森林进行字符图像识别
- Python函数——Numpy size()
- Day 1:二维数组中查找
- Day 2:替换空格
- Prometheus监控神器-Kubernetes篇(三)
- julia简易教程——安装Julia+jupyter notebooks
- Julia 终于正式发布了
- awk 列求和计算
- C++复习笔记——0_零碎问题及解决笔记
- C++复习笔记——C++ 关键字
- python函数——字典设置默认值 setdefault()
- Day 3:从尾到头打印链表
- python函数——字典get()方法