看到网页上有不少大转盘抽奖的应用,心血来潮也想弄个.于是找了点资料自己研究了下
queryRotate 这个插件就可以实现这个功能
jqueryRotate:
支持Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Google Chrome,高级浏览器下使用Transform,低版本ie使用VML实现
google code地址:http://code.google.com/p/jqueryrotate/
下面了解下这个插件怎么使用

$("触发转动元素").rotate(45); //直接这样子调用的话就是变换角度$("触发转动元素").getRotateAngle(); //返回对象当前的角度$("触发转动元素").stopRotare(); //停止旋转动画$("触发转动元素").rotateRight() 向右旋转90度 $("触发转动元素").rotateLeft()向左旋转90度。
$("触发转动元素").rotate({  angle:0,  //起始角度animateTo:180,  //结束的角度duration:3000, //转动时间callback:function(){}, //回调函数easing:$.easing.easeOutSine // $.easing.easeInOutExpo 运动的效果,需要引用jquery.easing.min.js的文件})

大转盘原理:随机出一个数字,通过后台算出在那个概率区间返回指定跳转的角度 例

一等奖 概率1% 如果在1-100 随机出100则跳转一等奖的角度范围内

二等奖 概率2% 如果在1-100 随机出99-98则跳转二等奖的角度范围内

三等奖 概率97% 如果在1-100 随机出97-1则跳转三等奖的角度范围内

下面以一个简单demo为例子
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="jQueryRotate.2.2.js"></script>
<script type="text/javascript" src="jquery.easing.min.js"></script>
<script type="text/javascript" src="zp.js"></script>
<style type="text/css">
body {background: url(bg.png) 0 0 repeat;
}.rotate-content {width: 270px;position: relative;height: 270px;background: url(activity-lottery-bg.png)no-repeat 0 0;background-size: 100% 100%;margin: 0 auto
}.rotate-con-pan {background: url(disk.jpg)no-repeat 0 0;background-size: 100% 100%;position: relative;width: 255px;height: 255px;padding-top: 15px;box-sizing: border-box;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;margin: 0 auto
}.rotate-con-zhen {width: 112px;height: 224px;background: url(start.png)no-repeat 0 0;background-size: 100% 100%;margin: 0 auto
}</style>
</head><body><div class="rotate-content"><div class="rotate-con-pan"><div class="rotate-con-zhen"></div></div></div>
</body>
<script type="text/javascript">
$(function(){$(".rotate-con-zhen").rotate({bind:{click:function(){var a = runzp();$(this).rotate({duration:3000,angle: 0, animateTo:1440+a.angle,easing: $.easing.easeOutSine,callback: function(){alert(a.prize+a.message);}});}}});
});
</script>
</html>

zp.js
/*****************************************************  Author :   xuyw                **   Version:   v1.0                    **   Email  :   xyw10000@163.com                    *
****************************************************/function randomnum(smin, smax) {// 获取2个值之间的随机数var Range = smax - smin;var Rand = Math.random();return (smin + Math.round(Rand * Range));
}function runzp() {var data = '[{"id":1,"prize":"590大洋","v":1.0},{"id":2,"prize":"100RMB","v":2.0},{"id":3,"prize":"安慰奖","v":48.0}]';// 奖项jsonvar obj = eval('(' + data + ')');var result = randomnum(1, 100);var line = 0;var temp = 0;var returnobj = "0";var index = 0;//alert("随机数"+result);for ( var i = 0; i < obj.length; i++) {var obj2 = obj[i];var c = parseFloat(obj2.v);temp = temp + c;line = 100 - temp;if (c != 0) {if (result > line && result <= (line + c)) {index = i;// alert(i+"中奖"+line+"<result"+"<="+(line + c));returnobj = obj2;break;}}}var angle = 330;var message = "";var myreturn = new Object;if (returnobj != "0") {// 有奖message = "恭喜中奖了";var angle0 = [ 344, 373 ];var angle1 = [ 226, 256 ];var angle2 = [ 109, 136 ];switch (index) {case 0:// 一等奖var r0 = randomnum(angle0[0], angle0[1]);angle = r0;break;case 1:// 二等奖var r1 = randomnum(angle1[0], angle1[1]);angle = r1;break;case 2:// 三等奖var r2 = randomnum(angle2[0], angle2[1]);angle = r2;break;}myreturn.prize = returnobj.prize;} else {// 没有message = "再接再厉";var angle3 = [ 17, 103 ];var angle4 = [ 197, 220 ];var angle5 = [ 259, 340 ];var r = randomnum(3, 5);var angle;switch (r) {case 3:var r3 = randomnum(angle3[0], angle3[1]);angle = r3;break;case 4:var r4 = randomnum(angle4[0], angle4[1]);angle = r4;break;case 5:var r5 = randomnum(angle5[0], angle5[1]);angle = r5;break;}myreturn.prize = "继续努力!";}myreturn.angle = angle;myreturn.message = message;return myreturn;
}

首先 转盘的角度取决于图片,转盘的业务决定代码复杂度.望各位根据实际情况开发
附上我的小转盘

附上下载地址 http://download.csdn.net/detail/a714115852/7803015

微信js 大转盘抽奖相关推荐

  1. 微信php开发 抽奖,微信(weixin)大转盘抽奖页面、数据库以及抽奖算法(PHP源码......

    在做http://www.111cn.net/list-271/的过程中用到了微信抽奖,看了其他的作者都只是吧微信抽奖的页面共享出来了.作者现在把转盘抽奖程序和微信抽奖页面都共享出来,有需要的自己把两 ...

  2. js框架jquery实现的幸运大转盘抽奖程序代码,兼容多种浏览器(Internet Explorer 6.0+ 、Firefox 2.0 、Safari 3 、Opera 9 、Chrome)

    博客目录 js框架jquery实现的幸运大转盘抽奖程序代码 实现功能截图 系统功能 使用技术 代码 写在最后 js框架jquery实现的幸运大转盘抽奖程序代码 本系统实现了一个幸运转盘抽奖,兼容多种浏 ...

  3. C#保留2位小数几种场景总结 游标遍历所有数据库循环执行修改数据库的sql命令 原生js轮盘抽奖实例分析(幸运大转盘抽奖) javascript中的typeof和类型判断...

    C#保留2位小数几种场景总结 场景1: C#保留2位小数,.ToString("f2")确实可以,但是如果这个数字本来就小数点后面三位比如1.253,那么转化之后就会变成1.25. ...

  4. php仿京东幸运大转盘抽奖,原生js vue 抽奖插件 仿京东大转盘抽京豆(原创)...

    插件描述:一个基于原生 javript vue2 vue3 的大转盘抽奖插件 更新时间:2020-11-24 00:18:54 在 vue2.x / vue3.x 中使用 方式 1:通过 import ...

  5. PHP jQuery微信大转盘抽奖源代码分享

    微信大转盘抽奖-jQuery+PHP实现,发现很多转盘抽奖,都实现了前台部分,大部分都使用了HTML5技术,但是后台自己调整抽奖几率不方便,索性自己收集资料,在一个转盘抽奖的基础上,增加了PHP部分代 ...

  6. asp大转盘抽奖程序代码微信大转盘asp版源码

    昨天接到一个客户需求让帮忙找个asp的微信大转盘代码,我找遍全网也没找到有asp做的微信大转盘,网上基本上全是php做的大转盘,没办法受客户所托,昨晚给写了一个asp大转盘代码程序,后台设置奖项,每天 ...

  7. Canvas实现微信大转盘抽奖代码

    Canvas实现微信大转盘抽奖代码,canvas结合jquery实现的一款大转盘抽奖代码,奖品图片均由canvas绘制,可自定义奖项. jquery抽奖微信大转盘jquery抽奖转盘微信抽奖源代码微信 ...

  8. jQuery+PHP实现微信大转盘抽奖 v1.0

    微信大转盘抽奖-jQuery+PHP实现,发现很多转盘抽奖,都实现了前台部分,大部分都使用了HTML5技术,但是后台自己调整抽奖几率不方便,索性自己收集资料,在一个转盘抽奖的基础上,增加了PHP部分代 ...

  9. 微信小程序实现大转盘抽奖----踩坑之路

    微信小程序实现大转盘抽奖----踩坑之路 需求:现在有一个小程序抽奖页面如下,此类抽奖方式为大转盘 思路:由服务端获取抽奖次数和奖品,根据服务端的中奖概率来决定是否中奖,最后利用小程序动画将转盘转起来 ...

最新文章

  1. python进行图片的定位切割_python3 实现对图片进行局部切割的方法
  2. JavaScript入门(part8)--数组
  3. 多元正态分布、多元t分布中的行列式求解 Java
  4. Vue3学习笔记- NPM包管理工具
  5. readonly 与 const 区别
  6. MATLAB 读取文件数据(txt)
  7. 分割 反比 权重图 梯度 灰度_numpy gradient梯度函数1
  8. 导入图片后截取_如何截取视频片段?这几个方法比专业剪辑软件还好用!
  9. 三星手机微信聊天记录删除了怎么恢复
  10. cmd命令结束端口进程
  11. 支付宝生活号开发配置
  12. 对Linux内核tty设备的一点理解(转)
  13. Shiny应用基础(5):数据获取与响应
  14. 计算机输入法在桌面显示不出来的,电脑开机无法正常显示桌面只能看到输入法如何解决...
  15. 微信小程序Canvas卡顿优化解决方法
  16. 互联网公司招聘--京东--产品岗-2017年笔试题
  17. 三菱FX5U系列PLC模拟量使用方法及相关参数设置
  18. 深入探究JVM(1) - Java的内存区域解析
  19. JS CryptoJS 编码/解码 Base64 字符串
  20. 量化择时:基于经验模态分解的希尔伯特-黄变换(二)算法

热门文章

  1. 重读微积分(六):差商与牛顿插值
  2. 都有哪些影响棋牌游戏开发价位的因素
  3. 对汽车供应商的评估需要哪些数据?
  4. [论文笔记] 大型车牌检测数据集CCPD 阅读笔记
  5. 数据分析师必掌握的统计学知识!
  6. 《编程之美》学习笔记
  7. 操作系统——(11)多媒体操作系统
  8. 消息钩子使用教程(转)
  9. Matlab 填补缺失数据
  10. 自动化学科国家自然基金委十二五规划 2009年12月