jQuery抽奖转盘(原创)

所属分类:其他-游戏

 36390  338  查看评论 (19)
分享到微信朋友圈
X
jQuery抽奖转盘(原创) ie兼容12

发布时间:2018-3-16 0:16

用法

首先创建一个canvas

<canvas id="myCanvas" width="600" height="600">
   当前浏览器版本过低,请使用其他浏览器尝试
</canvas>

再引入jquery和插件js

<script src="http://code.jquery.com/jquery-1.12.4.js"></script>
<script src="/assets/myPlugin/turntable/turntable.js"></script>

定义转盘参数及初始化

// 定义转盘奖品
var wheelSurf = $('#myCanvas').WheelSurf({
    list: list, // 奖品 列表,(必填)
    outerCircle: {
        color: '#df1e15' // 外圈颜色(可选)
    },
    innerCircle: {
        color: '#f4ad26' // 里圈颜色(可选)
    },
    dots: ['#fbf0a9', '#fbb936'], // 装饰点颜色(可选)
    disk: ['#ffb933', '#ffe8b5', '#ffb933', '#ffd57c', '#ffb933', '#ffe8b5', '#ffd57c'], //中心奖盘的颜色,默认7彩(可选)
    title: {
        color: '#5c1e08',
        font: '19px Arial'
    } // 奖品标题样式(可选)
})
// 初始化转盘
wheelSurf.init()

关键方法旋转转盘

// 转盘抽奖,
wheelSurf.lottery(旋转角度, function () {
})

API


方法对象参数返回值
WheelSurf()canvas的JQuery对象

@param {Object} options

@param {Array} options.list 存储奖品的的列表,example [{1:{name:'谢谢参与',image:'1.jpg'}}]

@param {Object} options.outerCircle {color:'#df1e15'} 外圈颜色,默认红色

@param {Object} options.innerCircle {color:'#f4ad26'} 里圈颜色,默认黄色

@param {Array} options.dots ['#fbf0a9', '#fbb936'] 装饰点颜色 ,默认深黄浅黄交替

@param {Array} options.disk ['#ffb933', '#ffe8b5', '#ffb933', '#ffd57c', '#ffb933', '#ffe8b5', '#ffd57c'] 中心奖盘的颜色,默认7彩

@param {Object} options.title {color:'#5c1e08',font:'19px Arial'} 奖品标题颜色

WheelSurf对象
init()WheelSurf对象nullnull
lottery()WheelSurf对象

@param {number} 角度

@param {function} callback 旋转完成后的回调

null


注意

因为无法得知获取奖品接口的格式及抽中奖品返回的格式,

1.本插件只提供初始化转盘和旋转转盘的接口。

2.需要按照demo 格式化成指定参数格式,才能正确初始化转盘

3.需要手写一点逻辑计算旋转角度 (顺时针数第几个奖品*360/奖品数量+(360/奖品数量)/2)

相关插件-游戏

飞翔的小鸟

原生js飞翔的小鸟
  游戏
 25755  296

jquery h5 超级玛丽

一款用jquery和html5写的街机版超级玛丽,很好玩哟
  游戏
 43958  453

程序员求签

程序员求签
  游戏
 28083  321

飞机大战(原创)

js用的es5语法,兼容大部分浏览器!支持移动端(代码注释非常全,要学习的抓紧收了。)
  游戏
 31399  379

讨论这个项目(19)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    貌似我会发光丶 0
    2019/11/15 18:05:28
    楼主,这个能修改概率嘛
        浪迹灬天涯0
        2019/11/15 20:03:40
        可以
    回复
    诗人与钟摆 0
    2019/11/8 17:07:09
    部分iphone型号,像 iphone 6,没法显示转盘。
    部分华为和oppo好像也不行。 回复
    。。 0
    2019/8/15 15:41:56
    楼主还在吗,我把width和height设置成300,然后转盘就变成正方形,整体没有缩放,直接就是裁剪成300*300了
        浪迹灬天涯0
        2019/8/15 16:39:53
        使用css 设置宽高试试
        。。0
        2019/8/17 14:07:12
        这个有小程序版本的吗
        。。0
        2019/8/17 15:57:16
        现在要一个小程序版的这个,但是没有跟你这个可以直接前端控制概率的
        浪迹灬天涯0
        2019/8/19 11:48:03
        逻辑写个很清晰,不用变逻辑,根据小程序canvas语法改点方法就好了
        。。0
        2019/8/19 15:45:59
        ok,还是感谢楼主的分享
    回复
    不改了狗 0
    2018/11/19 15:48:42
    在手机端,苹果手机不显示文字,什么情况
        不改了狗0
        2018/11/19 16:05:06
        手机端不能用rem
        浪迹灬天涯0
        2018/11/19 17:57:50
        canvas 里没有rem,只有用px
    回复
    唔五勿无 0
    2018/10/19 15:39:29
    哥,我看这个地方可以修改图片大小,ctx.drawImage(awardPic[i], -48, -178,50,50);我加了个(50,50),这样所以的都变成(50,50) 怎么绘制每个图片的大小了
        浪迹灬天涯0
        2018/11/9 12:47:31
        那个是for循环出来的,大小设定一样。正确思路是让UI把图准备一样大小的
    回复
    Cheer. 0
    2018/8/21 10:14:29
    请问怎么整体改变转盘的大小呀
        浪迹灬天涯0
        2018/8/21 10:33:33
        如果是想缩小转盘的话,直接设置canvas 的样式width 就可以,但放大的话就会失真。如果想放大还需要手动改一下代码,这个转盘尺寸是根据我当时做活动的设计图量出来的,你也可以根据你的设计图尺寸量一下,那些角度计算的都不用改,只需要改那些画圆的半径和粗度就好。
    回复
    Mr.LiuCL 0
    2018/8/15 15:25:14
    唯尔半截湘妃 0
    2018/8/13 14:01:52
    楼主的思路十分的清晰,多谢楼主的分享
    回复
    西木・子 0
    2018/4/20 9:16:16
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复