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 相关文章推荐
js变量作用域及可访问性的探讨
Nov 23 Javascript
Javascript string 扩展库代码
Apr 09 Javascript
按给定几率进行随机抽取的js代码
Dec 28 Javascript
js 控制下拉菜单刷新的方法
Mar 03 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
jQuery基于扩展实现的倒计时效果
May 14 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
简单理解vue中Props属性
Oct 27 Javascript
loading动画特效小结
Jan 22 Javascript
解决vue项目打包后提示图片文件路径错误的问题
Jul 04 Javascript
Vue 组件封装 并使用 NPM 发布的教程
Sep 30 Javascript
JavaScript 链表定义与使用方法示例
Apr 28 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php防止sql注入代码实例
2013/12/18 PHP
php解析xml方法实例详解
2015/05/12 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
js null undefined 空区别说明
2010/06/13 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
jQuery淡入淡出元素让其效果更为生动
2014/09/01 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
2015/03/27 Javascript
javascript如何写热点图
2015/12/08 Javascript
如何解决easyui自定义标签 datagrid edit combobox 手动输入保存不上
2015/12/26 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
vue this.reload 方法 配置
2018/09/12 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python实现的汉诺塔算法示例
2019/10/23 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
小学英语教学反思案例
2014/02/04 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书