基于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 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
node.js开机自启动脚本文件
Dec 24 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
JavaScript进阶练习及简单实例分析
Jun 03 Javascript
漂亮! js实现颜色渐变效果
Aug 12 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 Javascript
微信小程序实现上传图片功能
May 28 Javascript
JS实现的简单分页功能示例
Aug 23 Javascript
解析原来浏览器原生支持JS Base64编码解码
Aug 12 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
Sep 23 Javascript
一看就会的vuex实现登录验证(附案例)
Jan 09 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
实用函数4
2007/11/08 PHP
php中session与cookie的比较
2015/01/27 PHP
php简单复制文件的方法
2016/05/09 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
JS常用函数使用指南
2014/11/23 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
详解JS中的快速排序与冒泡
2017/01/10 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
python自带的http模块详解
2016/11/06 Python
JSON Web Tokens的实现原理
2017/04/02 Python
pybind11在Windows下的使用教程
2019/07/04 Python
pandas 像SQL一样使用WHERE IN查询条件说明
2020/06/05 Python
python怎么提高计算速度
2020/06/11 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
运输服务质量承诺书
2014/03/27 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
出国留学英文自荐信
2015/03/25 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android