基于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 验证日期的函数
Mar 18 Javascript
jQuery数据显示插件整合实现代码
Oct 24 Javascript
jQuery的each终止或跳过示例代码
Dec 12 Javascript
判断日期是否能跨月查询的js代码
Jul 25 Javascript
jquery实现点击页面计算点击次数
Jan 23 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
Apr 12 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
分析JavaScript数组操作难点
Dec 18 Javascript
jQuery实现的隔行变色功能【案例】
Feb 18 jQuery
vue-cli3使用 DllPlugin 实现预编译提升构建速度
Apr 24 Javascript
微信小程序进入广告实现代码实例
Sep 19 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 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
咖啡的化学
2021/03/03 咖啡文化
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
Vue 事件处理操作实例详解
2019/03/05 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
python将ip地址转换成整数的方法
2015/03/17 Python
python安装以及IDE的配置教程
2015/04/29 Python
python web框架学习笔记
2016/05/03 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python中字符串与编码示例代码
2019/05/20 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
通过实例解析Python调用json模块
2019/12/11 Python
HTML5标签大全
2016/11/23 HTML / CSS
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
财务总监岗位职责
2014/03/07 职场文书
《蜗牛的奖杯》教后反思
2014/04/24 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
给医院的感谢信
2015/01/21 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python