zoukankan      html  css  js  c++  java
  • js+css+html实现抽奖小程序

    摘要:学习js基础逻辑,简单实现一下,在最后作弊一下,不管几号都是谢谢参与。想做的完善一些,可以利用数组把数字换为人名,做一些修饰美化一下。 

      1 <!DOCTYPE html>
      2   <html lang="en">
      3   <head>
      4   <meta charset="UTF-8">
      5   <title>抽奖小程序</title>
      6   <style type="text/css">
      7     h1{
      8       color: red;
      9       text-align: center;
     10      }
     11     div{
     12       width: 510px;
     13       height: 208px;
     14 
     15       border: 1px solid orange;
     16 
     17       margin-left: auto;
     18       margin-right: auto;
     19 
     20       font-size: 0px;
     21      }
     22     span{
     23       /*转换为行级块元素 sapn是行级元素*/
     24       display: inline-block;
     25       width: 100px;
     26       height: 50px;
     27       /*dashed 虚线*/
     28       border: 1px dashed orange;
     29 
     30       font-size: 16px;
     31       text-align: center;
     32       line-height: 50px;
     33        }
     34 
     35      button{
     36       /*button是行级块元素 转换为块级元素*/
     37       display: block;
     38       width: 100px;
     39       height: 40px;
     40 
     41       margin-top: 60px;
     42       margin-left: auto;
     43       margin-right: auto;
     44       background-color: green;
     45       }
     46   </style>
     47   </head>
     48   <body>
     49     <h1>抽奖行动正在进行!</h1>
     50 
     51     <div id=all>
     52     </div>
     53     <!-- 设置一个点击函数 startOrStop() -->
     54     <button onclick="startOrStop()" id=btn>开始</button>
     55 
     56     <script type="text/javascript">
     57       <!-- 通过ID获取 div标签和button标签 -->
     58       var all = document.getElementById("all");
     59       var btn = document.getElementById("btn");
     60 
     61       for(var i=1;i<21;i++){
     62         <!-- 生成<span></span> -->
     63         var span = document.createElement("span");
     64         <!-- 生成<span></span>的输出值 -->
     65         span.innerHTML = i;    
     66         <!-- 将span添加到div块中 -->
     67         all.appendChild(span);
     68       }
     69       <!-- 记录执行函数 -->
     70       var myInterval;
     71       <!-- 记录是否开始 -->
     72       var isStart = false;
     73       <!-- 记录生成的随机数 -->
     74       var randomNum = 0;
     75       function startOrStop(){
     76         <!-- 执行一次,生成一个随机数,并且修改对应span的背景颜色 -->
     77         function start(){
     78         <!-- 获取div中的所有标签数 -->
     79         var num = all.children.length;
     80         <!-- 每次执行函数时,先还原div中元素的背景颜色 -->
     81         for(var i=0;i<num;i++){ 
     82           <!-- transparent 透明 -->
     83           all.children[i].style.backgroundColor = "transparent";
     84         }
     85         <!-- Math.floor(num)对num向下取整,Math.random()生成0~1的随机小数 -->
     86         randomNum = Math.floor(Math.random() * num);
     87         <!-- alert(randomNum); -->
     88         <!-- 对随机数对应的span修改背景颜色 -->
     89         all.children[randomNum].style.backgroundColor = "red";
     90         }
     91       if(isStart == false){    
     92         <!-- 每100毫秒执行一次start()函数,保存给myInterval -->
     93         myInterval = setInterval(start,100);
     94         btn.style.backgroundColor = "red";
     95         <!-- 修改按钮展示值 -->
     96         btn.innerHTML = "停止";
     97         <!-- 修改状态为开始 -->
     98         isStart = true;
     99         <!-- 记录最后一次的随机数对应的展示值,转换为字符串 -->
    100         var flag = randomNum + 1;
    101         all.children[randomNum].innerHTML = "" + flag;
    102       }else{
    103         all.children[randomNum].innerHTML = "谢谢参与";
    104         <!-- 清空执行函数 -->
    105         clearInterval(myInterval);
    106         <!-- 还原背景颜色,按钮值,开始状态 -->
    107         btn.style.backgroundColor = "green";
    108         btn.innerHTML = "开始";
    109         isStart = false;
    110         }    
    111       }
    112     </script>
    113   </body>
    114 </html>
  • 相关阅读:
    leetcode 1301. 最大得分的路径数目
    LeetCode 1306 跳跃游戏 III Jump Game III
    LeetCode 1302. 层数最深叶子节点的和 Deepest Leaves Sum
    LeetCode 1300. 转变数组后最接近目标值的数组和 Sum of Mutated Array Closest to Target
    LeetCode 1299. 将每个元素替换为右侧最大元素 Replace Elements with Greatest Element on Right Side
    acwing 239. 奇偶游戏 并查集
    acwing 238. 银河英雄传说 并查集
    acwing 237程序自动分析 并查集
    算法问题实战策略 MATCHORDER 贪心
    Linux 安装Redis全过程日志
  • 原文地址:https://www.cnblogs.com/zou-zou/p/8569867.html
Copyright © 2011-2022 走看看