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 相关文章推荐
基于MooTools的很有创意的滚动条时钟动画
Nov 14 Javascript
jQuery 对Select的操作备忘记录
Jul 04 Javascript
关于html+ashx开发中几个问题的解决方法
Jul 18 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
Aug 17 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
Mar 03 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
js计算最大公约数和最小公倍数代码实例
Sep 11 Javascript
微信小程序indexOf的替换方法(推荐)
Jan 14 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
PHP异步调用socket实现代码
2012/01/12 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
原生js实现轮播图
2017/02/27 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python threading模块操作多线程介绍
2015/04/08 Python
用Python遍历C盘dll文件的方法
2015/05/06 Python
浅谈Python的异常处理
2016/06/19 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python 详解基本语法_函数_返回值
2017/01/22 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
css3 border-image使用说明
2010/06/23 HTML / CSS
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
Internal修饰符有什么含义
2013/07/10 面试题
机电专业个人自荐信格式模板
2013/09/23 职场文书
教师节促销方案
2014/03/22 职场文书
庆祝儿童节标语
2014/10/09 职场文书
成人成长感言如何写?
2019/08/16 职场文书
python文件与路径操作神器 pathlib
2022/04/01 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技