js实现抽奖的两种方法


Posted in Javascript onMarch 19, 2020

本文实例为大家分享了js实现抽奖的具体代码,供大家参考,具体内容如下

抽奖活动的原理还是很简单的,通过代码一目了然,如果看不懂就私聊我,可以私下交流!

方法一:使用table写一个随机抽奖

这是html+js代码

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <link rel="stylesheet" href="css/test2.css" >
 <title>抽奖</title>
</head>
 
<body>
 <div class="content">
  <div class="top">
   抽奖活动
  </div>
  <div class="body">
   <table>
    <tr>
     <th>百度</th>
     <th>腾讯</th>
     <th>阿里</th>
     <th>京东</th>
     <th>华为</th>
    </tr>
    <tr>
     <th>滴滴</th>
     <th>蚂蚁金服</th>
     <th>乐视</th>
     <th>中国电网</th>
     <th>中石化</th>
    </tr>
    <tr>
     <th>美团</th>
     <th>乐视</th>
     <th>小米</th>
     <th>网易</th>
     <th>酷我</th>
    </tr>
    <tr>
     <th>爱奇艺</th>
     <th>盛大</th>
     <th>短文学</th>
     <th>浅墨诗韵</th>
     <th>浪子一秋</th>
    </tr>
   </table>
  </div>
  <div class="bottom">
   <input type="button" name="" id="button" class="button" value="开始" onclick="toStart(this)">
  </div>
 </div>
</body>
<script type="text/javascript">
 var timer;
 var button = document.querySelector("#button");
 function toStart() {
  // 启动定时器
  if (timer == undefined) {
   timer = setInterval(changeStyle, 100);
   button.setAttribute("value", "停止");
  } else {
   clearInterval(timer);
   timer = undefined;
   button.setAttribute("value", "开始");
  }
 }
 // 改变样式
 var a, b;
 function changeStyle() {
  var tb = document.querySelector("table");
  console.log(a);
  if (a != undefined) {
   tb.rows[a].cells[b].style.backgroundColor = "white";
  }
  // 
  // 获取要操作的元素
  a = parseInt(Math.random() * 4);
  b = parseInt(Math.random() * 5);
  // console.log(a);
  var col = tb.rows[a].cells[b];
  col.style.backgroundColor = "red";
 }
 
 
</script>
 
</html>

方法二:使用span标签写

html+js代码如下

<!DOCTYPE html>
<html lang="en">
 
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <link rel="stylesheet" href="css/test2.css" >
 <title>抽奖</title>
</head>
 
<body>
 <div class="content">
  <div class="top">
   抽奖活动
  </div>
  <div class="body" id="body">
 
  </div>
  <div class="bottom">
   <input type="button" name="" id="button" class="button" value="开始" onclick="toStart()">
  </div>
 </div>
</body>
<script type="text/javascript">
 // 获取要操作的元素
 var div = document.getElementById("body");
 // 动态添加span
 for (var i = 0; i < 25; i++) {
  // 创建一个新的标签
  var el = document.createElement("span");
  // 给标签设置内容
  el.innerText = i;
  // 添加子元素
  div.appendChild(el);
 }
 
 var timer;
 var button = document.querySelector("#button");
 function toStart() {
  // 启动定时器
  if (timer == undefined) {
   timer = setInterval(changeStyle, 100);
   button.setAttribute("value", "停止");
  } else {
   clearInterval(timer);
   timer = undefined;
   button.setAttribute("value", "开始");
  }
 }
 // 改变样式
 var selection;
 function changeStyle() {
  var spans = document.getElementsByTagName("span");
  if (selection != undefined) {
   console.log(selection);
   spans[selection].style.backgroundColor = "white";
  }
  selection = parseInt(Math.random() * 25);
  var spans = document.getElementsByTagName("span");
  var selectSpan = spans[selection];
  selectSpan.style.backgroundColor = "red";
 }
 
</script>
 
</html>

两个页面的css代码

*{
 margin: 0;
 padding: 0;
}
body{
 display: block;
}
.content{
 width: 500px;
 margin: auto;
}
.top{
 text-align: center;
 height: 50px;
 color: red;
 font-size: 30px;
 
}
table{
 width: 100%;
 border: 1px solid red;
 border-spacing: 0;
}
th{
 border: 1px dashed rgb(189, 189, 86);
 height: 40px;
}
.bottom{
 height: 50px;
 margin-top: 20px;
 text-align: center;
}
.button{
 background-color: #4CAF50; /* Green */
 border: none;
 color: white;
 padding: 15px 32px;
 text-align: center;
 text-decoration: none;
 display: inline-block;
 font-size: 16px;
}
 
 
/* test2-1 */
.body{
 width: 512px;
 height: 260px;
 border: 1px solid red;
}
span{
 display: inline-block;
 width: 100px;
 height: 50px;
 border: 1px dashed #b1da1f;
 line-height: 50px;
 text-align: center;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
Dec 23 Javascript
浅谈JS闭包中的循环绑定处理程序
Nov 09 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
JQ实现新浪游戏首页幻灯片
Jul 29 Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
老生常谈 js中this的指向
Jun 30 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 Javascript
JavaScript实现网页tab栏效果制作
Nov 20 Javascript
js实现九宫格抽奖
Mar 19 #Javascript
在Vue.js中使用TypeScript的方法
Mar 19 #Javascript
JS实现长图上下滚动效果
Mar 19 #Javascript
JavaScript实现简单计算器
Mar 19 #Javascript
jQuery实现颜色打字机的完整代码
Mar 19 #jQuery
webpack 动态批量加载文件的实现方法
Mar 19 #Javascript
vue-cli3项目升级到vue-cli4 的方法总结
Mar 19 #Javascript
You might like
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
网页打开自动最大化的js代码
2012/08/22 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
构建一个JavaScript插件系统
2020/10/20 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
python简单读取大文件的方法
2016/07/01 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
Django框架视图介绍与使用详解
2019/07/18 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
Django 自动生成api接口文档教程
2019/11/19 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
深入浅析Python代码规范性检测
2020/07/31 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
Django-simple-captcha验证码包使用方法详解
2020/11/28 Python
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
计算机科学系职业生涯规划书
2014/03/08 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
入党自荐书范文
2015/03/05 职场文书
四群教育工作总结
2015/08/10 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
python实现腾讯滑块验证码识别
2021/04/27 Python