Vue移动端抽奖组件,用于大转盘滚动抽奖场景,可配置奖品、图片、转盘样式等。下面编程教程网小编给大家简单介绍一下具体实现代码!
vue组件安装
import { createApp } from "vue";
// vue
import { Turntable } from "@nutui/nutui-bingo";
// taro
import { Turntable } from "@nutui/nutui-bingo-taro";
const app = createApp();
app.use(Turntable);
vue基础用法
<template>
<nutbig-turntable
class="turntable"
ref="turntable"
:width="luckWidth"
:height="luckheight"
:prize-list="prizeList"
:turns-number="turnsNumber"
:turns-time="turnsTime"
:prize-index="prizeIndex"
:style-opt="styleOpt"
:pointer-style="pointerStyle"
@start-turns="startTurns"
@end-turns="endTurns"
>
</nutbig-turntable>
</template>
<script>
import { Toast } from "@nutui/nutui";
import { ref, reactive } from "vue";
export default {
setup() {
const turntable = ref(null);
// 转盘大小
const luckWidth = ref("450px");
const luckheight = ref("450px");
// 转盘指针图片样式
const pointerStyle = {
width: "80px",
height: "80px",
backgroundImage:'url("背景图片")',
backgroundSize: "contain",
backgroundRepeat: "no-repeat",
};
// 转盘上要展示的奖品数据
const prizeList = ref([
{
id: "xiaomi",
prizeName: "小米手机",
prizeImg: "小米手机图片.jpg",
},
{
id: "huawei",
prizeColor: "rgb(251, 219, 216)",
prizeName: "华为手机",
prizeImg: "华为手机图片.jpg",
},
{
id: "apple",
prizeName: "apple watch",
prizeImg: "apple watch.jpg",
},
{
id: "shubiao",
prizeColor: "rgba(246, 142, 46, 0.5)",
prizeName: "鼠标",
prizeImg: "鼠标.jpg",
},
{
id: "jianpan",
prizeName: "键盘.jpg",
prizeImg:
"",
},
{
id: "thanks",
prizeName: "谢谢参与",
prizeImg: "谢谢参与.jpg",
},
]);
// 转动圈数
const turnsNumber = ref(5);
// 转动需要持续的时间(秒)
const turnsTime = ref(5);
// 转盘样式的选项
const styleOpt = reactive({
// 转盘中每一块扇形的背景色,根据奖品的index来取每一块的对应颜色
prizeBgColors: [
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
],
// 每一个扇形的外边框颜色
borderColor: "#ff9800",
});
// 中奖的奖品的index(此数据可根据后台返回的值重新赋值)
const prizeIndex = ref(-1);
// 剩余抽奖次数
const num = ref(5);
const startTurns = () => {
const index = Math.floor(Math.random() * prizeList.value.length);
prizeIndex.value = index;
turntable.value.rotateTurn();
};
const endTurns = () => {
console.log("中奖了");
};
return {
turntable,
luckWidth,
luckheight,
pointerStyle,
prizeList,
turnsNumber,
turnsTime,
styleOpt,
prizeIndex,
num,
startTurns,
endTurns,
};
},
};
</script>
以上是编程学习网小编为您介绍的“vue年会大转盘抽奖活动代码”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
织梦狗教程
本文标题为:vue年会大转盘抽奖活动代码


基础教程推荐
猜你喜欢
- Javascript 获取滚动条位置等信息的函数 2024-03-09
- 尝试使用来自注册表的PHP / HTML将数据输入到SQL表中 2023-10-26
- 利用模糊实现视觉3D效果实例讲解 2022-11-23
- javascript控制Div层透明属性由浅变深由深变浅逐渐显示 2024-01-08
- 关于Vue中的计算属性和监听属性详解 2023-07-10
- 利用momentJs做一个倒计时组件(实例代码) 2023-08-08
- javascript判断移动端访问设备并解析对应CSS的方法 2024-02-04
- Vue3父传子props(组件之间通信) 2023-10-08
- JavaScript 利用Cookie记录用户登录信息 2024-01-30
- CSS重新定义项目符号和编号技巧 2022-10-16