luckylottery

功能描述

luckylottery转盘抽奖

依赖的模块

快速使用

luckylottery - 图1

step 1: 引入资源

  1. <canvas id="lottery" width="300" height="300"></canvas>
  2. <button id="handler">开始抽奖</button>
  3. <!-- Lottery Javascript file -->
  4. <script src="lottery.js"></script>

step 2: 调用Lottery

  1. new Lottery(document.getElementById('lottery'), {
  2. handler: document.getElementById('handler'),
  3. handlerCallback: function(_interface){
  4. /*ajax获取中奖结果*/
  5. _ajax(function(response){
  6. /*指定停止的位置:索引*/
  7. _interface.stop(response.index, function(){
  8. console.log('恭喜你中得:' + response.name)
  9. });
  10. });
  11. },
  12. products: [
  13. {
  14. text: '小米电视',
  15. imgUrl: 'http://www.host.com/img1.png'
  16. },
  17. {
  18. text: '华为手机',
  19. imgUrl: 'http://www.host.com/img2.png'
  20. }
  21. ...
  22. ]
  23. });

构造函数 Lottery 的全部配置项.

  1. var _lottery = new Lottery(document.getElementById('lottery'),{
  2. /*点击抽奖元素*/
  3. handler: '',
  4. /*点击抽奖的回调*/
  5. handlerCallback: function(_interface){},
  6. outerRadius: '',
  7. innerRadius: 0,
  8. /*循环填充数组颜色*/
  9. fillStyle: ['#ffdf8a', '#fffdc9'],
  10. /*重复触发的间距时间*/
  11. interval: 1000,
  12. /*速度越大越快*/
  13. speed: 12,
  14. /*运动最少持续时间*/
  15. duration: 3000,
  16. /*字体位置与样式*/
  17. /*画布显示缩放比例,值为1 安卓模糊*/
  18. scale: this.ua.isIos ? 1 : 4,
  19. /*字体样式,浅拷贝 需整个font对象传入*/
  20. font: {
  21. y: '50%',
  22. color: '#ee6500',
  23. style: 'normal',
  24. weight: 500,
  25. size: '12px',
  26. lineHeight: 1,
  27. family: 'Arail'
  28. },
  29. /*图片位置与尺寸*/
  30. images: {
  31. y: '88%',
  32. width: 32,
  33. height: 32
  34. },
  35. /*打断文字换行*/
  36. breakText: ['金币', '红包'],
  37. /*礼物*/
  38. products: [
  39. /*{
  40. imgUrl: 'http://',
  41. text: '苹果手机',
  42. }*/
  43. ]
  44. });
  45. /*指定停止位置, index为索引 0-products.length */
  46. _lottery.stop(index, function(){
  47. });

特别说明