原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)

您所在的位置:网站首页 京豆抽大奖 原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)

原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)

2024-07-12 18:24| 来源: 网络整理| 查看: 265

原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)

所属分类:其他-游戏

 8865  79  查看评论 (6) 分享到微信朋友圈X 原生js vue 抽奖插件 仿京东大转盘抽京豆(原创) ie兼容12  查看演示  website  立即下载 插件描述:一个基于原生 javript vue2 vue3 的大转盘抽奖插件

更新时间:2020-11-24 00:18:54

在 vue2.x / vue3.x 中使用

方式 1:通过 import 引入

首先安装插件

# npm 安装: npm install vue-luck-draw # yarn 安装: yarn add vue-luck-draw

然后找到 main.js 引入插件并 use

// vue2.x import LuckDraw from 'vue-luck-draw' Vue.use(LuckDraw) // vue3.x import LuckDraw from 'vue-luck-draw/vue3' createApp(App).use(LuckDraw).mount('#app')

最后在组件内使用 大转盘组件 或 九宫格组件

                         

方式 2:通过 script 标签引入

从下面的链接里下载一个叫luckdraw.umd.min.js的 js 文件, 然后使用 script 标签引入

vue2.x:https://github.com/buuing/vue-luck-draw/tree/master/dist vue3.x:https://github.com/buuing/vue-luck-draw/tree/master/vue3               new Vue({     el: '#app'   })

边框 - blocks

为了使得大转盘始终是一个圆,所以这里不支持paddingLeft、paddingRight、paddingTop、paddingBottom等属性

blocks?: Array

padding: string 内边距 (边框必须是等宽的, 所以 padding 只能输入一个值) background: string 背景颜色 (可填写16进制颜色哈希值或 rgba)

关于绘制边框

t2.png

第一个橘色的 block 的直径等于200px,等于父容器的宽

第二个红色的 block:直径等于180px,因为第一个 block 的padding上下左右同时挤出10px

第三个白色的 block:直径等于160px,因为第二个 block 的padding同样也挤出10px

最后白色 block 挤出的部分就是奖品区域了

web代码

  let luckyWheel = new LuckyCanvas.LuckyWheel('#my-lucky', {     blocks: [       { padding: '10px', background: '#ffc27a' },       { padding: '10px', background: '#ff4a4c' },       { padding: '0px', background: '#fff' }     ]   })

vue代码

  export default {   data () {     return {       blocks: [         { padding: '10px', background: '#ffc27a' },         { padding: '10px', background: '#ff4a4c' },         { padding: '0px', background: '#fff' }       ]     }   }}

奖品 - prizes

奖品列表是一个数组,转盘会根据奖品数量来分配扇形区域

prizes?: Array 奖品列表 background?: string 扇形背景色 (可继承 defaultStyle 背景色,默认为 '#fff') fonts?: Array 文字列表 text: string 字体内容 (可以使用 \n 用来换行) top?: string | number 距离顶部的高度 (格式为:20 | '20px' | '20%',默认为 0) fontColor?: string 字体颜色 (可继承 defaultStyle 字体颜色,默认为 '#000') fontSize?: string 字体大小(px) (可继承 defaultStyle 字体大小,默认为 '22px') fontStyle?: string 字体样式 (可继承 defaultStyle 字体样式,默认为 'sans-serif') fontWeight?: string 字体粗细 (可继承 defaultStyle 字体粗细,默认为 '400') lineHeight?: string 字体行高 (默认等于字体大小) wordWrap?: boolean 文字自动换行 (默认为 true 开启,关闭时可以使用 \n 换行) lengthLimit?: string | number 换行宽度限制 (格式为:90 | '90px' | '90%',默认为 '90%') imgs?: Array 图片列表 src: string 图片路径 top?: string | number 距离顶部的高度 (可以写 20px 也可以是 20%,默认为 0) width?: string 图片宽度 (关于图片宽高有四种可能) height?: string 图片高度 (关于图片宽高有四种可能)

1.宽高都未设置:则使用图片原大小;2.有宽度无高度:则高度随着宽度等比缩放;3.有高度无宽度:则宽度随着高度等比缩放;4.既有宽度也有高度:则图片宽高均等于设置的值(会被拉伸)

关于设置奖品

t.png

奖品区域为扇形,会平分整个大转盘并以顺时针方向绘制,建议配置不同的背景色方便区分

文字默认以扇形的中线居中,会自动随着扇形的旋转而旋转

2号扇形的top为100%,所以他的文字超出了原本的区域

web代码

  let luckyWheel = new LuckyCanvas.LuckyWheel('#my-lucky', {     blocks: [{ padding: '10px', background: '#d64737' }],     prizes: [       { fonts: [{ text: '0' }], background: '#f8d384' },       { fonts: [{ text: '1', top: '20px' }], background: '#f9e3bb' },       { fonts: [{ text: '2', top: '100%' }], background: '#fff' }     ],   })

vue代码

  export default {   data () {     return {       blocks: [{ padding: '10px', background: '#d64737' }],       prizes: [         { fonts: [{ text: '0' }], background: '#f8d384' },         { fonts: [{ text: '1', top: '20px' }], background: '#f9e3bb' },         { fonts: [{ text: '2', top: '100%' }], background: '#fff' }       ],     }   }} PREVIOUS: NEXT: 基于amazeui实现的后台管理模板 jQuery幸运大转盘(原创) 相关插件-游戏 查看更多 移动端口红机见缝插针纯前端 某宝爆款的口红机、微信热门小游戏见缝插针,代码注释全!   游戏  28252  379 jQuery轮盘抽奖插件 公司年会抽奖专用,点击开始后开始抽奖 ,点击结束后结束抽奖   游戏  39466  416 jQuery版年会手机号抽奖插件 这是一款基础jQuery的手机号抽奖插件,可以指定抽奖结果,也可以随机抽取号码,非常简单,实用!   游戏  30607  369 2048小游戏 jQuery 2048小游戏界面简洁大方,代码注释全。   游戏  26693  318 讨论这个项目(6)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约 puz_zle 0 2021/11/15 11:56:14 这源码是编译后的文件 ldqjs0 2021/11/15 12:34:15 这不是有安装使用教程吗? 源码是ts, ts不编译你咋用 回复 静而寒 0 2021/3/20 11:12:28 您好,目前能实现获奖区域大小通过后台配置scale的大小,实现不等分的情况吗 ldqjs0 2021/3/20 17:11:03 不能, 并且我感觉这个需求没什么实际意义 静而寒0 2021/3/22 11:00:04 谢谢,现在是需求是这样,所以来问一下. 静而寒0 2021/3/22 11:00:07 谢谢,现在是需求是这样,所以来问一下. 回复 查看更多评论 登录后才可以评论 30秒后在评论吧! 😃😀😉😥😵😫😘😡👍🌹👏🍺🍉🌙⭐💖💔 😃😀😉😥😵😫😘😡👍🌹👏🍺🍉🌙⭐💖💔 取消回复


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3