基于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 技巧
Apr 25 Javascript
JS跨域代码片段
Aug 30 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
js/jQuery对象互转(快速操作dom元素)
Feb 04 Javascript
JS去除字符串两端空格的简单实例
Dec 27 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 jQuery
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 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
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
php中文字符截取防乱码
2008/03/28 PHP
php之curl设置超时实例
2014/11/03 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
jQuery DOM操作实例
2014/03/05 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
jQuery文字提示与图片提示效果实现方法
2016/07/04 Javascript
js中new一个对象的过程
2017/02/20 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[50:58]2018DOTA2亚洲邀请赛3月29日 小组赛A组OpTic VS Newbee
2018/03/30 DOTA
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
python购物车程序简单代码
2018/04/18 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
Python2与Python3的区别实例总结
2019/04/17 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
通息工程毕业生自荐信
2013/10/16 职场文书
夜大自我鉴定
2013/10/31 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
六查六看剖析材料
2014/10/06 职场文书
2015年征兵工作总结
2015/07/23 职场文书
基于Go Int转string几种方式性能测试
2021/04/28 Golang
mysql 排序失效
2022/05/20 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers