Lottery in javascript / 자바스크립트로 경품추첨기 만들기

	

 <style>
  body{font-size:9pt;}
  #panel{border:1px #000000 solid; line-height:400px; font-size:100px; width:400px; height:400px; text-align:center; vertical-align:middle;} 
 </style>
 <script> 
  var panel;
  var nTimerID;
  var labTotal;
  var nTotalMember;
  window.onload=function(){
   this.init();// 요소 초기화 실행.   
   this.initEventListener();// 이벤트 초기화 실행. 
  }    
  function init(){// 요소 초기화.   
   this.panel = document.getElementById("panel");// 숫자가 출력될 #panel을 찾아 전역변수에 담아둡니다.
   this.nTimerID = 0;// 참여인원 정보가 입력된 패널을 찾아 전역변수에 담아둡니다.
   this.labTotal = document.getElementById("lab_total");
   this.nTotalMember = 0;   
  }    
  function initEventListener(){// 이벤트 초기화.
   var btnStart = document.getElementById("btn_start");
   btnStart.addEventListener("click", function(){
    startTimer();
   },false);   
   var btnStop = document.getElementById("btn_stop");
   btnStop.addEventListener("click",function(){
    stopTimer();
   },false);   
  }  
  function startTimer(){  
   if(this.nTimerID==0){    
    this.nTotalMember = Number(this.labTotal.value);//입력된 참여인원수를 구해옵니다.    
    this.resetPanelStyle();// 타이머 시작시 #panel의 글자색을 초기화 시켜 줍니다.   
this.nTimerID = setInterval(this.createNumber,20);// 0.2초에 한번씩 createNumber()함수를 실행시켜 줍니다. } } function stopTimer(){ if(this.nTimerID){ clearInterval(this.nTimerID);// createNumber()함수 호출하는 타이머를 멈춥니다. this.nTimerID = 0; this.showWinner();//출력효과 추가. } } function createNumber(){ var nNum = 1+Math.floor(Math.random()*this.nTotalMember);// 랜덤하게 1에서 참여인원수 사이의 숫자를 만들어 냅니다. this.panel.innerHTML = nNum;//만들어진 숫자를 innerHTML에 대입시켜 줍니다. this.panel.style.fontSize = 100+(Math.random()*100)+"px";// 폰트 크기를 100~200으로 랜덤하게 설정해줍니다. } function showWinner(){ // 출력효과 추가. this.panel.style.color = "#ff0000";// 당첨자를 알리기 위해서 #panel의 글자색과 크기를 변경시켜줍니다. this.panel.style.fontSize = "200px"; } function resetPanelStyle(){ this.panel.style.color = "#000000";// 출력패널의 스타일을 초기화 시켜준다. } </script> <div> <h4>경품추첨기</h4> <div id="panel"> 1 <!-- 이곳에 숫자가 출력됩니다. --> </div> <div id="nav"> 참여인원 : <input type="text" id="lab_total" value="100"> <button id="btn_start">start</button> <button id="btn_stop">stop</button> </div> </div>
---------------------------------------------------------------------------------------------


Lottery


1

댓글

이 블로그의 인기 게시물

Quick Menu(flying menu) in jQuery / 제이쿼리로 퀵메뉴 바 만들기

Accordion Menu in jQuery / 제이쿼리로 아코디언 메뉴 만들기