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 相关文章推荐
Knockoutjs的环境搭建教程
Nov 26 Javascript
JavaScript自动设置IFrame高度的小例子
Jun 08 Javascript
jquery获取radio值实例
Oct 16 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
详解微信小程序开发之城市选择器 城市切换
Jan 17 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
Feb 22 Javascript
JS触摸事件、手势事件详解
May 04 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
May 28 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
Sep 21 Javascript
Vue性能优化的方法
Jul 30 Javascript
js前端对于大量数据的展示方式及处理方法
Dec 02 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
建立动态的WML站点(二)
2006/10/09 PHP
PHP操作数组的一些函数整理介绍
2011/07/17 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
php实现简单加入购物车功能
2017/03/07 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
js对象数组按属性快速排序
2011/01/31 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
Python如何实现动态数组
2019/11/02 Python
python将音频进行变速的操作方法
2020/04/08 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
python 生成器需注意的小问题
2020/09/29 Python
解决python3输入的坑——input()
2020/12/05 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
校企合作协议书
2014/04/16 职场文书
应届大学生自荐书
2014/06/17 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
2014年班主任工作总结
2014/11/08 职场文书
2014年少先队工作总结
2014/12/03 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
意外事故赔偿协议书
2016/03/22 职场文书
《曾国藩家书》读后感——读家书,立家风
2019/08/21 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL