基于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 相关文章推荐
使用新的消息弹出框blackbirdjs
Oct 16 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
重新理解JavaScript的六种继承方式
Mar 24 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
Aug 11 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
Aug 23 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
JavaScript实现简单的图片切换功能(实例代码)
Apr 10 Javascript
Vue切换Tab动态渲染组件的操作
Sep 21 Javascript
Map与WeakMap类型在JavaScript中的使用详解
Nov 18 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
全屏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使用Cookie控制访问授权的方法
2015/01/21 PHP
php实现简单文件下载的方法
2015/01/30 PHP
py文件转exe时包含paramiko模块出错解决方法
2016/08/12 PHP
PHP 断点续传实例详解
2017/11/11 PHP
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
python学习教程之使用py2exe打包
2017/09/24 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
python实现键盘输入的实操方法
2019/07/16 Python
Python调用C语言的实现
2019/07/26 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
python中setuptools的作用是什么
2020/06/19 Python
python判断是空的实例分享
2020/07/06 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
班组长安全生产职责
2013/12/16 职场文书
数控技术学生的自我评价
2014/02/15 职场文书
论文指导教师评语
2014/04/28 职场文书
热情服务标语
2014/10/07 职场文书
2014年体育部工作总结
2014/11/13 职场文书
售房协议书范本
2015/08/11 职场文书