[코드지갑#2] 난수 생성 후 타이머 작동하기

기능

  1. 난수번호 생성 버튼을 클릭하면 6자리의 난수가 생성된다.
  2. 난수가 생성되면 아래의 3분 타이머가 카운트 된다.
  3. 3분이 되면 카운트가 종료 된다.
  4. 카운트가 진행중에 버튼을 누르면 얼럿을 띄워준다.

예시

000000

03:00


HTML

<div id="auth">000000</div>
<button onclick="pressedBtn()">난수번호 생성</button>
<div id="count">03:00</div>

JAVASCRIPT

let isStarted = false;

const pressedBtn = () => {
  if (isStarted === false) {
    isStarted = true;
    const token = String(Math.floor(Math.random() * 1000000)).padStart(6, '0');
    document.getElementById('auth').innerText = token;
    document.getElementById('auth').style.color = '#' + token;

    let time = 180;
    let timer = null;

    timer = setInterval(function () {
      if (time >= 0) {
        const min = String(Math.floor(time / 60)).padStart(2, '0');
        const sec = String(time % 60).padStart(2, '0');
        const timerText = min + ':' + sec;
        document.getElementById('count').innerText = timerText;
        time = time - 1;
      } else {
        document.getElementById('auth__end').disabled = true;
        isStarted = false;
        clearInterval(timer);
      }
    }, 1000);
  } else {
    alert('타이머가 작동중입니다');
  }
};

난수 생성 방법

타이머 생성

var intervalID = setInterval(func, [delay, arg1, arg2, ...]);
var intervalID = setInterval(function[, delay]);
var intervalID = setInterval(code, [delay]);