javascript跑马灯抽奖实例讲解


Posted in Javascript onApril 17, 2020

本文实例讲解了javascript跑马灯抽奖特效,特别适合用于抽奖活动,分享给大家供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>抽奖游戏</title>
<style>
#box{
 width:720px;
 margin:0 auto;
 margin-top:20px;
 box-shadow:0px 0px 2px #333;
}
.pic{
 width:200px;
 height:200px;
 float:left;
 line-height:200px;
 margin:10px;
 border:5px #fff solid;
 color:blue;
 font-size: 35px;
 text-align: center;
}
.anniu{
 width:200px;
 height:200px;
 float:left;
 margin:10px;
}
#drawBtn{
 color:red;
 font-size:30px;
 width:200px;
 height:200px;
 box-shadow:0px 0px 2px #333;
 font-weight: bold;
}
 </style>
 <script>
 window.onload=init;
 var setting={
 count:0,
 total:24,
 delay:20,
 picIndex:[0,1,2,4,7,6,5,3]
 }
 function init(){
 document.getElementById("drawBtn").onclick=function(){
  setting.count=0;
  setting.delay=20;
  this.disable=true;//禁用按钮
  var drawBtn=this;
  //获取所有图片的div
  var allDivs=document.getElementsByClassName("pic");
  //获得一个随机整数,代表中奖的那个位置,3*8+(0-7)
  setting.total+=Math.floor(Math.random()*allDivs.length);
  //设置定时器,依次修改每个div边框的颜色.
  setTimeout(function show(){
  //重置上一个边框的颜色
  for (var i=0;i<allDivs.length;i++){
   allDivs[i].style.borderColor="#fff";
   allDivs[i].style.opacity=0.7;
  }
  //找到要修改的那个边框的颜色设置
   var currentPic=allDivs[setting.picIndex[setting.count%8]];
   currentPic.style.borderColor="red";
   currentPic.style.opacity=1.0;
  setting.count++;
  setting.delay+=2*setting.count;
   if(setting.count>setting.total){
   alert("您中奖了,哈哈");
   drawBtn.disable=false;
   return;
   }
   setTimeout(show,setting.delay);
  },setting.delay);
 }
 }
 </script>
</head>
<body>
<div id="box">
 <div class="pic">1</div>
 <div class="pic">2</div>
 <div class="pic">3</div>
 <div class="pic">4</div>
 <div class="anniu"><input type="button" value="我要抽奖" id="drawBtn"/></div>
 <div class="pic">5</div>
 <div class="pic">6</div>
 <div class="pic">7</div>
 <div class="pic">8</div>
</div>
</body>
</html>

想要学习更多关于抽奖功能的实现,请参考此专题:抽奖功能

以上就是本文的详细内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
Jan 29 Javascript
10款非常有用的 Ajax 插件分享
Mar 14 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
深入理解JavaScript是如何实现继承的
Dec 12 Javascript
js简单时间比较的方法
Aug 02 Javascript
利用vue写todolist单页应用
Dec 15 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
Apr 13 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
JavaScript实现数值自动增加动画
Dec 28 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 Javascript
jQuery页面刷新(局部、全部)问题分析
Jan 09 #Javascript
javascript返回顶部的按钮实现方法
Jan 09 #Javascript
javascript类型系统 Array对象学习笔记
Jan 09 #Javascript
JS中生成随机数的用法及相关函数
Jan 09 #Javascript
JavaScript电子时钟倒计时
Jan 09 #Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 #Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 #Javascript
You might like
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
PHP中预定义的6种接口介绍
2015/05/12 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
Vue作用域插槽slot-scope实例代码
2018/09/05 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
python批量导出导入MySQL用户的方法
2013/11/15 Python
Python格式化css文件的方法
2015/03/10 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
浅析Python3 pip换源问题
2020/01/06 Python
python实现同一局域网下传输图片
2020/03/20 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
美国眼镜网:GlassesUSA
2017/09/07 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
招聘单位介绍信
2014/01/14 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
详解Python自动化之文件自动化处理
2021/06/21 Python
详解Vue router路由
2021/11/20 Vue.js
《总之就是很可爱》新作短篇动画《总之就是很可爱~制服~》将于2022年夏天播出
2022/04/07 日漫