基于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 相关文章推荐
服务器安全设置的几个注册表设置
Jul 28 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
JavaScript之数组(Array)详解
Apr 01 Javascript
JavaScript简单获取页面图片原始尺寸的方法
Jun 21 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 Javascript
详解Vue使用命令行搭建单页面应用
May 24 Javascript
在 Node.js 中使用 async 函数的方法
Nov 17 Javascript
纯js代码生成可搜索选择下拉列表的实例
Jan 11 Javascript
Vue 使用formData方式向后台发送数据的实现
Apr 14 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
一个基于PDO的数据库操作类
2011/03/24 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
JQuery this 和 $(this) 的区别
2009/08/23 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
初识Javascript小结
2015/07/16 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
跟老齐学Python之用while来循环
2014/10/02 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
2018/04/25 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
Python使用进程Process模块管理资源
2020/03/05 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
煤矿机修工岗位职责
2014/02/07 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
机电系毕业生求职信
2014/07/11 职场文书
毕业实习证明范本
2015/06/16 职场文书
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers