
实现这个其实蛮简单的,转动的效果用的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;
/*text-indent:-999em;
overflow:hidden;
background:url(rotate-static.png);
-webkit-transform:rotate(0deg);*/
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>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# jquery
# 转盘抽奖
# jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
# jquery 年会抽奖程序
# jQuery实现转动随机数抽奖效果的方法
# jquery 抽奖小程序实现代码
# jquery实现九宫格大转盘抽奖
# jQuery实现类似老虎机滚动抽奖效果
# jquery输入数字随机抽奖特效的简单实现代码
# jquery——九宫格大转盘抽奖实例
# jQuery+PHP实现的掷色子抽奖游戏实例
# jQuery实现移动端扭蛋机抽奖
# 这样子
# 的是
# 我要
# 是因为
# 很简单
# 要让
# 让它
# 得来
# 更方便
# 回调
# 就可以
# 很遗憾
# 最原始
# xhtml
# rotateRight
# rotateLeft
# stopRotare
# min
# getRotateAngle
# easing
相关文章:
实现虚拟支付需哪些建站技术支撑?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何通过.red域名打造高辨识度品牌网站?
如何通过FTP服务器快速搭建网站?
如何安全更换建站之星模板并保留数据?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
家庭建站与云服务器建站,如何选择更优?
网站制作报价单模板图片,小松挖机官方网站报价?
建站之星免费模板:自助建站系统与智能响应式一键生成
如何在万网主机上快速搭建网站?
济南企业网站制作公司,济南社保单位网上缴费步骤?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何注册花生壳免费域名并搭建个人网站?
建站之星如何实现网站加密操作?
建站之星安装失败:服务器环境不兼容?
如何通过老薛主机一键快速建站?
如何制作网站标识牌,动态网站如何制作(教程)?
活动邀请函制作网站有哪些,活动邀请函文案?
如何通过VPS建站无需域名直接访问?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
建站org新手必看:2024最新搭建流程与模板选择技巧
建站之星后台密码遗忘?如何快速找回?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
清除minerd进程的简单方法
免费ppt制作网站,有没有值得推荐的免费PPT网站?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
装修招标网站设计制作流程,装修招标流程?
重庆市网站制作公司,重庆招聘网站哪个好?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
如何在阿里云完成域名注册与建站?
如何生成腾讯云建站专用兑换码?
长沙做网站要多少钱,长沙国安网络怎么样?
如何通过远程VPS快速搭建个人网站?
C++中引用和指针有什么区别?(代码说明)
建站之星图片链接生成指南:自助建站与智能设计教程
如何在宝塔面板中创建新站点?
建站主机选虚拟主机还是云服务器更好?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
Swift中循环语句中的转移语句 break 和 continue
南宁网站建设制作定制,南宁网站建设可以定制吗?
网站制作企业,网站的banner和导航栏是指什么?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何快速查询网站的真实建站时间?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
c++怎么用jemalloc c++替换默认内存分配器【性能】
网站制作员失业,怎样查看自己网站的注册者?
建站之星代理费用多少?最新价格详情介绍
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
*请认真填写需求信息,我们会在24小时内与您取得联系。