이 글은 주로 JavaScript 기반의 복권 시스템을 자세히 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.
JavaScript를 사용하여 [시작] 버튼과 [중지] 버튼이 있는 간단한 복권 시스템을 구현하세요.
기능:
-복권을 시작하려면 시작 버튼을 클릭하세요. 상품 이름은 무작위로 표시됩니다.
-복권을 중지하려면 중지 버튼을 클릭하세요.
-복권 시작과 사이를 전환하려면 Enter 키를 누르세요. 복권을 중단합니다.
Effect
html 코드:
html 구조를 생성합니다. 가장 기본적인 것은 표시된 상품 이름과 시작 및 중지 버튼을 포함하는 것입니다.
<!doctype html> <html> <head> <title>抽奖系统</title> <meta charset="utf-8"> <link type="text/css" rel="stylesheet" href="css/style.css"> <script type="text/javascript" src="js/script.js"></script> </head> <body> <p id="title" class="title">开始抽奖啦!</p> <p class="btns"> <span id="play">开 始</span> <span id="stop">停 止</span> </p> </body> </html>
js 메인 코드 스니펫:
먼저 데이터 배열을 정의하고 각 상품의 이름을 작성합니다. 그리고 타이머와 키보드 이벤트 상태 플래그를 초기화합니다(초기 상태는 0, 키보드를 누르면 1로 변경되고, 키보드를 다시 누르면 0으로 변경되는 식입니다).
var data=['Phone7','Ipad','三星笔记本','佳能相机','惠普打印机','谢谢参与','100元充值卡','1000元超市购物券']; timer = null, flag = 0;
복권 시작 함수 playFun()을 정의합니다. ;
function playFun() { var title = document.getElementById('title'); var play = document.getElementById('play'); //每次都先清除上一次的定时器任务,避免抽奖效果累加频率会越来越快 clearInterval(timer); //定时器50毫秒触发一次 timer = setInterval(function(){ //获取奖品下标随机数 var random = Math.floor(Math.random() * data.length); //显示随机的奖品名称 title.innerHTML = data[random]; }, 50); //改变将开始按钮背景色 play.style.background = '#666'; }
복권 중지 기능 정의 stopFun();
function stopFun(){ //清除定时器即可结束抽奖 clearInterval(timer); var play = document.getElementById('play'); //改变将停止按钮背景色 play.style.background = '#036'; }
복권 상태 이벤트를 전환하려면 Enter 키를 누르세요.
document.onkeyup = function(event){ event = event || window.event; //回车键键码为13 if (event.keyCode == 13) { //如果状态flag值为0则开始抽奖,并把状态值改为1,否则停止抽奖并把状态值改为0 if (flag == 0){ playFun(); flag = 1; }else{ stopFun(); flag = 0; } } }
js 전체 코드:
var data = ['Phone7', 'Ipad', '三星笔记本', '佳能相机', '惠普打印机', '谢谢参与', '100元充值卡', '1000元超市购物券'], timer = null, //定时器 flag = 0; //用于键盘事件状态标记 window.onload = function() { var play = document.getElementById('play'), stop = document.getElementById('stop'); // 开始抽奖 play.onclick = playFun; stop.onclick = stopFun; // 键盘事件 document.onkeyup = function(event) { event = event || window.event; if (event.keyCode == 13) { if (flag == 0) { playFun(); flag = 1; } else { stopFun(); flag = 0; } } } } // 开始抽奖 function playFun() { var title = document.getElementById('title'); var play = document.getElementById('play'); //每次都先清除上一次的定时器任务,避免抽奖效果累加频率会越来越快 clearInterval(timer); timer = setInterval(function() { var random = Math.floor(Math.random() * data.length); title.innerHTML = data[random]; }, 50); play.style.background = '#999'; } //停止抽奖 function stopFun() { clearInterval(timer); var play = document.getElementById('play'); play.style.background = '#036'; }
css 스타일 :
* { margin: 0; padding: 0; } .title { font-size: 24px; font-weight: bold; width: 400px; height: 70px; margin: 0 auto; padding-top: 30px; text-align: center; color: #f00; } .btns { width: 190px; height: 30px; margin: 0 auto; } .btns span { font-family: '微软雅黑'; font-size: 14px; line-height: 27px; display: block; float: left; width: 80px; height: 27px; margin-right: 10px; cursor: pointer; text-align: center; color: #fff; border: 1px solid #eee; border-radius: 7px; background: #036; }
관련 추천 :
jQuery, PHP, Mysql 복권 프로그램 예제 구현
vue 휴대폰 번호 복권 구현 up and 아래로 스크롤하는 애니메이션 예시 공유
위 내용은 복권 시스템의 JavaScript 구현 공유 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!