基于JavaScript实现简单抽奖功能代码实例


Posted in Javascript onOctober 20, 2020

为什么会做这个东西呢,纯属好玩,闲的

其实是在上次班会的时候想到的,班会的时候叫人回答问题,没人回答

当时就想,我如果抽签抽到你了,你还是不回答吗??好吧,一切都是扯淡

先来看看页面效果吧:

基于JavaScript实现简单抽奖功能代码实例

点击抽取就可以抽签了,红色框会显示内容,(PS:红色框是没有的,仅仅做描述)

抽取到的效果图如下,字体会随机滚动,最后停止:

基于JavaScript实现简单抽奖功能代码实例

里面的抽取内容完全可以替换,,,,

下面贴上代码:

<!DOCTYPE html>
<html lang="zh">
<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">
  <title>Document</title>
  <style>
    *{margin: 0px;padding: 0px;}
    li{list-style: none;}
    body{
      font-family: "楷体";
      user-select:none;
      background: url('1.jpg') no-repeat;
      background-size: 100%;
      /*background-color: red;*/
    }
    .section{
      position: relative;
      width:935px;
      height: 460px;
      background-color: rgba(0,0,0,.3);
      margin:165px auto 0;
      text-align: center;
    }
    .section h2{
      height: 90px;
      line-height: 90px;
      font-size: 40px;
      color:#fff;
    }
    .section .s-result{
      height: 400px;
      color: #fff;
    }
    .s-result .number{
      float: left;
      width: 895px;
      height: 300px;
      line-height: 300px;
      margin-left: 20px;
      font-size: 60px;
      font-weight: bold;
    }
    .btn{
      position:absolute;
      left: 50%;
      margin-left: -161px;
      bottom: -40px;
      width: 323px;
      height: 81px;
      border-radius: 30px;
      background-color: #000;
      cursor:pointer;
    }
    .btn p{
      line-height: 81px;
      font-size: 50px;
      color: #fff;
    }
  </style>
</head>
<body>
  <div class="section">
    <h2>看看谁最幸运!!</h2>
    <div class="s-result">
    </div>
    <div class="btn">
      <p>点 击 抽 取</p>
    </div>
  </div>
  <script>
    var oBtn = document.getElementsByClassName('btn')[0];
    var oResult = document.getElementsByClassName('s-result')[0];
    var arrName = ['张三','李四','王五','赵六','李xx','杨xx','张xx','A_dmin'];     //抽签的内容
    var step = 1;
    var cnt = 1;
    var flag = true;
    oBtn.onclick = function (){
      if(flag){
        step = 1;
        creatName();
        flag = false;
      }else{
        var d = document.getElementsByClassName('number')[0];
        oResult.removeChild(d);
        step = 1;
        creatName();
      }
    }
    function getName(){
      var num = Math.floor(Math.random()*(arrName.length-1));
      var n = arrName[num];
      arrName.splice(num,1);
      return n;
    }
    function creatName(){
      if(step > cnt){
        return null;
      }
      step++;
      
      var oDiv = document.createElement('div');
      oDiv.className = 'number';
      
      oResult.appendChild(oDiv);
      
      var dis = 1;
      var maxDis = 30;
      var mySet = setInterval(function(){
        dis++;
        if(dis > maxDis){
          oDiv.innerHTML = getName();
          clearInterval(mySet);
          creatName();
          return null;
        }
        oDiv.innerHTML = arrName[Math.floor(Math.random()*(arrName.length-1))];
      },50);
    }
  </script>
</body>
</html>

PS:

有点小瑕疵,可点击多次,每次随机的结果都是不一样的,所以当内容抽取完之后,页面会显示undefined,不过影响不大,啊哈哈哈哈

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

Javascript 相关文章推荐
slice函数的用法 之不错的应用
Dec 29 Javascript
提高网站性能之 如何对待JavaScript
Oct 31 Javascript
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
jqgrid 表格数据导出实例
Nov 21 Javascript
JS截取url中问号后面参数的值信息
Apr 29 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
Jul 29 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
bootstrapfileinput实现文件自动上传
Nov 08 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
boostrap模态框二次弹出清空原有内容的方法
Aug 10 Javascript
新手必须知的Node.js 4个JavaScript基本概念
Sep 16 Javascript
js遍历详解(forEach, map, for, for...in, for...of)
Aug 28 Javascript
微信小程序使用前置摄像头拍照
Oct 22 #Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 #jQuery
jQuery实现计算器功能
Oct 19 #jQuery
vue3为什么要用proxy替代defineProperty
Oct 19 #Javascript
jQuery实现推拉门效果
Oct 19 #jQuery
小程序实现左滑删除的效果的实例代码
Oct 19 #Javascript
jQuery实现图片切换效果
Oct 19 #jQuery
You might like
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
JS 表单验证大全
2011/11/23 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
Python去除列表中重复元素的方法
2015/03/20 Python
Django中ORM表的创建和增删改查方法示例
2017/11/15 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python根据url地址下载小文件的实例
2018/12/18 Python
详解Python3注释知识点
2019/02/19 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
2019/07/22 Python
Django REST framework内置路由用法
2019/07/26 Python
python实现猜拳游戏项目
2020/11/30 Python
python的dict判断key是否存在的方法
2020/12/09 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
网络安全方面的面试题
2016/01/07 面试题
教师实习期自我鉴定
2013/10/06 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP