基于javascript实现九宫格大转盘效果


Posted in Javascript onMay 28, 2020

本文实例为大家分享了js实现幸运抽奖九宫格大转盘效果,供大家参考,具体内容如下

基于javascript实现九宫格大转盘效果

实现代码:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>九宫格大转盘</title>
 <style type="text/css">
/*reset*/
*{ padding:0; margin:0}
body{ height: 100%; width: 100%; font-size:12px; color:#333;}
ul{ list-style:none;}
/*demo*/
#lottery{width:400px;height:400px;margin:20px auto 0; position:relative;}
#lottery div{width:100px;height:100px;text-align:centerfont-size:24px;color:#333; float:left;}
#lottery .cent{ background:#C33;}
#lottery .lottery-unit-0{ background:#CC6;}
#lottery .lottery-unit-1{ background:#F99;}
#lottery .lottery-unit-2{ background:#CC6;}
#lottery .lottery-unit-3{ background:#F99;}
#lottery .lottery-unit-4{ background:#CC6;}
#lottery .lottery-unit-5{ background:#F99;}
#lottery .lottery-unit-6{ background:#CC6;}
#lottery .lottery-unit-7{ background:#F99;}
#lottery .lottery-unit-8{ background:#CC6;}
#lottery .lottery-unit-9{ background:#F99;}
#lottery .lottery-unit-10{ background:#CC6;}
#lottery .lottery-unit-11{ background:#F99;}

#lottery div.select{background:#F0F;}

#lottery .start{ position:absolute; left:100px; top:100px; height:200px; width:200px;background:#C33; font-size:30px; text-align:center; cursor:pointer; line-height:200px; color:#fff;}
</style>
</style>
</head>
<body> 
 <!--九宫格大转盘-->
 <div id="lottery">
 
 <div class="lottery-unit lottery-unit-0">1</div>
 <div class="lottery-unit lottery-unit-1">2</div>
 <div class="lottery-unit lottery-unit-2">3</div>
 <div class="lottery-unit lottery-unit-3">4</div>
 
 <div class="lottery-unit lottery-unit-11">12</div>  
 <div class="cent"></div>
 <div class="cent"></div>  
 <div class="lottery-unit lottery-unit-4">5</div>
 
 <div class="lottery-unit lottery-unit-10">11</div>  
 <div class="cent"></div>
 <div class="cent"></div>  
 <div class="lottery-unit lottery-unit-5">6</div>
 
 <div class="lottery-unit lottery-unit-9">10</div>
 <div class="lottery-unit lottery-unit-8">9</div>
 <div class="lottery-unit lottery-unit-7">8</div>
 <div class="lottery-unit lottery-unit-6">7</div>

 <div class="start" id="start">抽奖</div>
 </div>
</body>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
 //九宫格大转盘
 var count=3;//可用次数 
 var i=null;//初始位置,
 var speed=80;//转动速度
 var ok=null;//产生0-11的整数,标记中奖位置
 var count=null;//总变化次数
 var nowcount=null;//当前的变化位置
 var n=5;//圈数
 var paly=false;
 var xq=0;
 function dong(){//利用递归模拟setinterval的实现 
 if(nowcount>count){
 setTimeout(function(){
 paly=false;
 alert("恭喜你,中了"+eval(ok)+"等奖");
 },500);
 }else{ 
 nowcount+=1;
 if(i>10){ 
 xq+=1; 
 if(xq==n-1){
 speed=300;
 }; 
 $(".lottery-unit").removeClass("select");
 $(".lottery-unit-11").addClass("select");
 i=0;
 }else{
 $(".lottery-unit").removeClass("select");
 $(".lottery-unit-"+i).addClass("select");
 i+=1;
 };
 setTimeout(dong,speed); 
 }; 
 
 }; 
 $(".start").click(function(){
 if(!paly){
 if(count==0){
 alert("已经没有机会,下次再来!");
 }else{
 ok=Math.floor((Math.random()*12));//产生0-11的整数,标记中奖位置
 count=n*12+ok;//总变化次数
 nowcount=0;//当前的变化位置
 i=0;//初始位置,
 paly=true;
 count-=1;
 dong();
 };
 
 }else{
 
 };
 
 }); 
});
</script>
</html>

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 学习笔记之数据类型
Jan 14 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
javascript中mouseenter与mouseover的异同
Jun 06 Javascript
Vue和Bootstrap的整合思路详解
Jun 30 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
VUE长按事件需求详解
Oct 18 Javascript
基于JavaScript中字符串的match与replace方法(详解)
Dec 04 Javascript
利用JS判断客户端类型你应该知道的四种方法
Dec 22 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
微信小程序转化为uni-app项目的方法示例
May 22 Javascript
全屏js头像上传插件源码高清版
Mar 29 #Javascript
js闭包引起的事件注册问题介绍
Mar 29 #Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 #Javascript
js滚动条平滑移动示例代码
Mar 29 #Javascript
JavaScript头像上传插件源码分享
Mar 29 #Javascript
js解决movebox移动问题
Mar 29 #Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 #Javascript
You might like
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
利用JS实现简单的瀑布流加载图片效果
2017/04/22 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
python验证码识别的实例详解
2016/09/09 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
完美解决Pycharm中matplotlib画图中文乱码问题
2021/01/11 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
墨西哥网上超市:Superama
2018/07/10 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
研讨会主持词
2014/04/02 职场文书
民族精神月活动总结
2014/08/28 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
民事调解书范文
2015/05/20 职场文书
超级礼物观后感
2015/06/15 职场文书
英语教学课后反思
2016/02/15 职场文书
React中的Context应用场景分析
2021/06/11 Javascript
python神经网络Xception模型
2022/05/06 Python