基于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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
详解JavaScript数组的操作大全
Oct 19 Javascript
JS设置cookie、读取cookie
Feb 24 Javascript
VUEJS实战之修复错误并且美化时间(2)
Jun 13 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
vue2.0实现前端星星评分功能组件实例代码
Feb 12 Javascript
使用JavaScript中的lodash编写双色球效果
Jun 24 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
layui表格 返回的数据状态异常的解决方法
Sep 10 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 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
50个PHP程序性能优化的方法
2014/06/02 PHP
Iframe 自动适应页面的高度示例代码
2014/02/26 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
2015/12/10 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
AngularJS的$location使用方法详解
2017/10/19 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
python3访问sina首页中文的处理方法
2014/02/24 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
css3的过滤效果简单实例
2016/08/03 HTML / CSS
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
内容编辑个人求职信
2013/12/10 职场文书
爱护公共设施的标语
2014/06/24 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
行政助理岗位职责
2015/02/10 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python