基于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 相关文章推荐
js 方法实现返回多个数据的代码
Apr 30 Javascript
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
JavaScript CSS修改学习第三章 修改样式表
Feb 19 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
Apr 06 Javascript
JavaScript简单获取系统当前时间完整示例
Aug 02 Javascript
Vue生命周期示例详解
Apr 12 Javascript
vue-loader教程介绍
Jun 14 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
Windows下Node爬虫神器Puppeteer安装记
Jan 09 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 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
PHP5常用函数列表(分享)
2013/06/07 PHP
php限制ip地址范围的方法
2015/03/31 PHP
php依赖注入知识点详解
2019/09/23 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
jquery向上向下取整适合分页查询
2014/09/06 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python反编译学习之字节码详解
2019/05/19 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
python cookie反爬处理的实现
2020/11/01 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
计算机工程学院个人求职信
2013/10/05 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
解除财产保全担保书
2014/05/20 职场文书
公司授权委托书
2014/10/17 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python