基于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 StringBuilder类实现
Dec 22 Javascript
jquery的Tooltip插件 qtip使用详细说明
Sep 08 Javascript
Jquery获取和修改img的src值的方法
Feb 17 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
JQuery解析XML的方法小结
Apr 02 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
jQuery.ajax向后台传递数组问题的解决方法
May 12 jQuery
详细分析单线程JS执行问题
Nov 22 Javascript
Vue项目中如何引入icon图标
Mar 28 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
如何利用React实现图片识别App
Feb 18 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安全配置
2006/10/09 PHP
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
[04:04]DOTA2亚洲邀请赛比赛场馆&酒店全攻略
2017/03/23 DOTA
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
市政管理求职信范文
2014/05/07 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
初中差生评语
2014/12/29 职场文书
个人创业事迹材料
2014/12/30 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
把77A收信机改造成收音机
2022/04/05 无线电