基于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 相关文章推荐
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
非常漂亮的JS代码经典广告
Oct 21 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
一段非常简单的js判断浏览器的内核
Aug 17 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
初识angular框架后的所思所想
Feb 19 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
JS实现随机抽选获奖者
Nov 07 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
Oct 02 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
Syphon 秘笈
2021/03/03 冲泡冲煮
使用php+xslt在windows平台上
2006/10/09 PHP
Access数据库导入Mysql的方法之一
2006/10/09 PHP
php中$this-&amp;gt;含义分析
2009/11/29 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
2013/06/25 PHP
php MessagePack介绍
2013/10/06 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
JavaScript中Function详解
2015/02/27 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
vue axios用法教程详解
2017/07/23 Javascript
js实现验证码功能
2020/07/24 Javascript
使用js原生实现年份轮播选择效果实例
2021/01/12 Javascript
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
如何解决python多种版本冲突问题
2020/10/13 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
企划专员岗位职责
2013/12/09 职场文书
教师三严三实心得体会
2014/10/11 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
课文《燕子》教学反思
2016/02/17 职场文书