基于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 相关文章推荐
JavaScript与函数式编程解释
Apr 27 Javascript
用JQuery调用Session的实现代码
Oct 29 Javascript
JavaScript的parseInt 取整使用
May 09 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
JS实现选项卡实例详解
Nov 17 Javascript
jQuery unbind()方法实例详解
Jan 19 Javascript
AngularJS API之copy深拷贝详解及实例
Sep 14 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
tab栏切换原理
Mar 22 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
Feb 10 Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 Javascript
js实现拖拽与碰撞检测
Sep 18 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
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
php英文单词统计器
2016/06/23 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
JS 遮照层实现代码
2010/03/31 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
layui之table checkbox初始化时选中对应选项的方法
2019/09/02 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
python抓取百度首页的方法
2015/05/19 Python
python Pygame的具体使用讲解
2017/11/03 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
python按比例随机切分数据的实现
2019/07/11 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
2014年教师节国旗下讲话稿
2014/09/10 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android