JavaScript 기반 간단 한 추첨 기능 코드 인 스 턴 스 구현

왜 이 물건 을 만 들 었 을 까?순 전 히 재 미 있 고 한가 하 다.
사실은 지난번 반 회의 때 생각 했 던 것 인 데 반 회의 때 사람 을 불 러 문 제 를 대답 하 게 했 지만 아무 도 대답 하지 않 았 다.
그때 내 가 추첨 해서 뽑 으 면 대답 안 할 거 야?좋아,모든 것 이 헛소리 야.
먼저 페이지 효 과 를 살 펴 보 자.

추출 을 누 르 면 추첨 이 가능 합 니 다.빨간색 상 자 는 내용 을 표시 합 니 다.(PS:빨간색 상 자 는 없습니다.설명 만 합 니 다)
추출 한 효과 그림 은 다음 과 같 습 니 다.글꼴 은 무 작위 로 굴 러 갑 니 다.마지막 으로 멈 춥 니 다.

안의 추출 내용 은 완전히 바 꿀 수 있 습 니 다.
아래 에 코드 붙 이기:

<!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 가 표 시 됩 니 다.하지만 영향 이 크 지 않 습 니 다.아하 하하
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기