时间:2021-05-26
实现这个其实蛮简单的,转动的效果用的jqueryRotate插件,所以只要判断每个奖荐对应的角度,然后设置指针的转动角度就可以了。比如关键的是jqueryRotate这个插件的用法。
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/
调用和方法:
$(el).rotate({ angle:0, //起始角度 animateTo:180, //结束的角度 duration:500, //转动时间 callback:function(){}, //回调函数 easing: $.easing.easeInOutExpo //定义运动的效果,需要引用jquery.easing.min.js的文件 })$(el).rotate(45); //直接这样子调用的话就是变换角度$(el).getRotateAngle(); //返回对象当前的角度$(el).stopRotare(); //停止旋转动画另外可以更方便的通过调用$(el).rotateRight()和$(el).rotateLeft()来分别向右旋转90度和向左旋转90度。
很简单吧,各种example可以看这里:http://code.google.com/p/jqueryrotate/wiki/Examples
下面是用jqueryRotate实现的抽奖转盘页面:
<!doctype html><html><head><meta charset="utf-8"><title>转盘</title><style> *{padding:0;margin:0} body{ text-align:center } .ly-plate{ position:relative; width:509px; height:509px; margin: 50px auto; } .rotate-bg{ width:509px; height:509px; background:url(ly-plate.png); position:absolute; top:0; left:0 } .ly-plate div.lottery-star{ width:214px; height:214px; position:absolute; top:150px; left:147px; outline:none } .ly-plate div.lottery-star #lotteryBtn{ cursor: pointer; position: absolute; top:0; left:0; *left:-107px }</style></head><body> <div class="ly-plate"> <div class="rotate-bg"></div> <div class="lottery-star"><img src="rotate-static.png" id="lotteryBtn"></div> </div></body><script src="jquery-1.7.2.min.js"></script><script src="jQueryRotate.2.2.js"></script><script>$(function(){ var timeOut = function(){ //超时函数 $("#lotteryBtn").rotate({ angle:0, duration: 10000, animateTo: 2160, //这里是设置请求超时后返回的角度,所以应该还是回到最原始的位置,2160是因为我要让它转6圈,就是360*6得来的 callback:function(){ alert('网络超时') } }); }; var rotateFunc = function(awards,angle,text){ //awards:奖项,angle:奖项对应的角度,text:提示文字 $('#lotteryBtn').stopRotate(); $("#lotteryBtn").rotate({ angle:0, duration: 5000, animateTo: angle+1440, //angle是图片上各奖项对应的角度,1440是我要让指针旋转4圈。所以最后的结束的角度就是这样子^^ callback:function(){ alert(text) } }); }; $("#lotteryBtn").rotate({ bind: { click: function(){ var time = [0,1]; time = time[Math.floor(Math.random()*time.length)]; if(time==0){ timeOut(); //网络超时 } if(time==1){ var data = [1,2,3,0]; //返回的数组 data = data[Math.floor(Math.random()*data.length)]; if(data==1){ rotateFunc(1,157,'恭喜您抽中的一等奖') } if(data==2){ rotateFunc(2,247,'恭喜您抽中的二等奖') } if(data==3){ rotateFunc(3,22,'恭喜您抽中的三等奖') } if(data==0){ var angle = [67,112,202,292,337]; angle = angle[Math.floor(Math.random()*angle.length)] rotateFunc(0,angle,'很遗憾,这次您未抽中奖') } } } } });})</script></html>以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了jQuery旋转插件jqueryrotate制作转盘抽奖的具体代码,供大家参考,具体内容如下原文链接:jsHTML5Canvas绘制转盘抽奖
基于Jquery的Javascript转盘抽奖程序,可以自定义抽奖界面,奖品数量、图片等,可控制中奖的奖品,抽奖转盘转动的速度和圈数。在实际使用中,应当把概率放
本文实例为大家分享了iOS实现转盘效果的具体代码,供大家参考,具体内容如下Demo下载地址:iOS转盘效果功能:实现了常用的iOS转盘效果,轮盘抽奖效果的实现,
本文实例讲述了PHP转盘抽奖接口的实现方法。分享给大家供大家参考。具体如下:这里的转盘抽奖随机返回一个转盘角度,概率可自己定义lottery_get.php接口
本文实例讲述了JS实现简单的抽奖转盘效果。分享给大家供大家参考,具体如下:www.jb51.netJS抽奖转盘*{margin:0;padding:0;list