JS实现转动随机数抽奖特效代码


Posted in Javascript onApril 16, 2020

大家都玩过抽奖游戏,或者梦想抽到大奖吧,但是有没有想过抽奖游戏是怎么实现的呐?今天就给大家分享一款转动随机数抽奖的JS特效代码。

实现代码如下

<!Doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<script src="http://code.jquery.com/jquery-1.7.1.js" type="text/javascript"></script>
<style type="text/css">
body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,form,img,dl,dt,dd,table,th,td,blockquote,fieldset,div,strong,label,em{margin:0;padding:0;border:0;}
ul,ol,li{list-style:none;}
input,button{margin:0;font-size:12px;vertical-align:middle;}
body{font-size:12px;font-family:Arial, Helvetica, sans-serif; text-align:center; margin:0 auto; background:url(../images/BG.jpg) repeat-y;}
table{border-collapse:collapse;border-spacing:0;}
.box{ padding:9px 0 0 11px; width:759px; height:611px; background:#ccc; margin:20px auto; }
.inbox{ width:751px; height:596px;position:relative;}
#random_box li{ position:absolute; width:144px; overflow:hidden; height:144px; border:3px solid #c7c5ca; background:#fff;}
#random_box li img{ width:144px; display:block; height:144px;}
.ok{ display:block; width:442px; height:294px; background:#c00; color:#fff; font-size:48px; position:absolute; top:149px; left:148px; cursor:pointer; text-align:center; line-height:280px;}
#random_1{ left:0; top:0;}
#random_2{ left:148px;top:0;}
#random_3{ left:296px;top:0;}
#random_4{ left:444px;top:0;}
#random_5{ left:592px;top:0; }
#random_6{ left:592px;top:148px;}
#random_7{ left:592px; top:298px;}
#random_8{ left:592px; top:446px;}
#random_9{ left:444px; top:446px;}
#random_10{ left:296px; top:446px;}
#random_11{ left:148px; top:446px;}
#random_12{ left:0; top:446px;}
#random_13{ left:0; top:298px;}
#random_14{ left:0; top:148px;}
#random_box li.random_current{border:1px solid red;}
</style>
</head>
<body>
<div class="box">
 <div class="inbox">
 <ul id="random_box">
 <li id="random_1">1</li>
 <li id="random_2">2</li>
 <li id="random_3">3</li>
 <li id="random_4">4</li>
 <li id="random_5">5</li>
 <li id="random_6">6</li>
 <li id="random_7">7</li>
 <li id="random_8">8</li>
 <li id="random_9">9</li>
 <li id="random_10">10</li>
 <li id="random_11">11</li>
 <li id="random_12">12</li>
 <li id="random_13">13</li>
 <li id="random_14">14</li> 
 </ul>
 <b class="ok" onClick="StartGame()">抽奖</b>
 </div>
</div>
<script>
var index=1,  //当前亮区位置
prevIndex=14,  //前一位置
Speed=300,  //初始速度
Time,  //定义对象
arr_length = 14; //GetSide(5,5),  //初始化数组
EndIndex=1,  //决定在哪一格变慢
cycle=0,  //转动圈数 
EndCycle=3,  //计算圈数
flag=false,  //结束转动标志
random_num=1, //中奖数
quick=0;  //加速
 
 
function StartGame(){
$("#random_box li").removeClass("random_current"); //取消选中
 //random_num = parseInt($("#txtnum").val());//
 random_num = Math.floor(Math.random()*13+2); //产出随机中奖数2--12之间
 index=1; //再来一次,从1开始
 cycle=0;
 flag=false;
 //EndIndex=Math.floor(Math.random()*12);
 if(random_num>5) {
 EndIndex = random_num - 5; //前5格开始变慢
 } else {
 EndIndex = random_num + 14 - 5; //前5格开始变慢
 }
 //EndCycle=Math.floor(Math.random()*3);
 Time = setInterval(Star,Speed);
 
}
function Star(num){
 //跑马灯变速
 if(flag==false){
 //走五格开始加速
 if(quick==5){
  clearInterval(Time);
  Speed=50;
  Time=setInterval(Star,Speed);
 }
 //跑N圈减速
 if(cycle==EndCycle+1 && index-1==EndIndex){
 clearInterval(Time);
  Speed=300;
  flag=true;  //触发结束
  Time=setInterval(Star,Speed);
 }
 }
 
 if(index>arr_length){
 index=1;
 cycle++;
 }
 
 //结束转动并选中号码
 if(flag==true && index==parseInt(random_num)){ 
 quick=0;
 clearInterval(Time);
 }
 $("#random_"+index).addClass('random_current'); //设置当前选中样式
 if(index>1)
 prevIndex=index-1;
 else{
 prevIndex=arr_length;
 }
 $("#random_"+prevIndex).removeClass('random_current'); //取消上次选择样式 
 index++;
 quick++;
}
</script>
</body>
</html>

实现的效果图:

JS实现转动随机数抽奖特效代码

现在抽奖游戏应用的非常广泛,我们每个人都会接触到,尤其是节假日的时候各大商场都会组织这种类型的游戏活动吸引顾客,我上面分享的这段代码其实还有很多可以改进,丰富的地方,比如我们可以美化它的界面,功能更加丰富,还有我们可以考虑转动随机数抽奖的速度,决定在哪一格变慢等。

以上就是本文的全部内容,希望大家可以喜欢,可以动手实践一下。

Javascript 相关文章推荐
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 Javascript
jquery实现滑动图片自己测试的例子
Nov 05 Javascript
JavaScript之数组(Array)详解
Apr 01 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
jQuery UI设置固定日期选择特效代码分享
Aug 27 Javascript
纯JS代码实现一键分享功能
Apr 20 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
Jul 08 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
Vue Autocomplete 自动完成功能简单示例
May 25 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
Aug 04 #Javascript
jquery控制显示服务器生成的图片流
Aug 04 #Javascript
JavaScript实现LI列表数据绑定的方法
Aug 04 #Javascript
用js编写的简单的计算器代码程序
Aug 04 #Javascript
javascript记住用户名和登录密码(两种方式)
Aug 04 #Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 #Javascript
JavaScript运动减速效果实例分析
Aug 04 #Javascript
You might like
How do I change MySQL timezone?
2008/03/26 PHP
php5中类的学习
2008/03/28 PHP
php 购物车实例(申精)
2009/05/11 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Django admin美化插件suit使用示例
2017/12/12 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
python二进制文件的转译详解
2019/07/03 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
教师三严三实对照检查材料
2014/09/25 职场文书
2014年变电站工作总结
2014/12/19 职场文书
研究生导师评语
2014/12/31 职场文书
社区党务工作总结2015
2015/05/19 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书