JavaScript实现键盘控制的简易抽奖系统
作者:微光时间:2026-10-29 23:07:24浏览:575
本文介绍如何使用JavaScript构建一个简易的抽奖系统。核心逻辑是通过数组存储奖品,利用定时器产生随机数动态更新显示内容。系统支持通过按钮或键盘按键控制抽奖的开始与停止,并可调整特定奖品的中奖概率。
系统概述与原理
构建一个简易的抽奖程序!诚邀各位参与学习!

JS逻辑:创建一个数组以保存抽奖奖品,比如iphone6等。点击开始时启动定时器生成随机数,并将对应文本的innerHTML更新为数组中的内容。
若需提高某奖品的中奖概率,可增加该值在数组中的重复次数。随后查看代码。、
JavaScript核心逻辑
JavaScript代码
window.onload = function(){
var data = [
"iphone 6s plus",
"苹果Mac 笔记本",
"美的洗衣机",
"凌美钢笔",
"谢谢参与",
"索尼入耳式耳机",
"雷柏机械键盘",
"《javaScript高级程序设计》",
"精美保温杯",
"维尼小熊一只",
"500元中国石化加油卡",
"爱奇艺年费会员",
"iPad mini",
"32G U盘",
];
var bStop = true;
var timer = null;
var btns = document.getElementById('btns').getElementsByTagName('span');
var text = document.getElementById('text');
btns[0].onclick = start;
btns[1].onclick = stop;
document.onkeyup = function(event){
event = event||window.event;
if(event.keyCode==13){
if(bStop){
start();
}else {
stop();
}
}
}
function start(){
clearInterval(timer);
timer = setInterval(function(){
var r = Math.floor(Math.random()*data.length);
text.innerHTML = data[r];
},20);
btns[0].style.background = '#666';
bStop = false;
}
function stop(){
clearInterval(timer);
btns[0].style.background = 'blue';
bStop = true;
}
}
HTML与CSS界面实现
html css 代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>抽奖啦</title>
<style>
* {
margin: 0;
padding:0;
}
#container {
width: 500px;
height: 200px;
margin: 100px auto;
background: red;
position: relative;
padding-top: 20px;
}
#container p {
position: absolute;
bottom: 4px;
left: 30px;
}
#btns {
position: absolute;
left: 118px;
bottom: 30px;
}
#container h1 {
color: #fff;
text-align: center;
}
#btn-start,#btn-stop {
width: 100px;
height: 60px;
background: blue;
text-align: center;
line-height: 60px;
font-size: 20px;
display: inline-block;
color: #fff;
margin-right: 60px;
border-radius: 10px;
cursor: pointer;
}
</style>
<script src="index.js"></script>
</head>
<body>
<div id="container">
<h1 id="text">iphone 6s plus</h1>
<p>小提示:您可以按下Enter键来控制开始暂停,祝您中大奖哟</p>
<div id="btns">
<span id="btn-start">开始</span>
<span id="btn-stop">停止</span>
</div>
</div>
</body>
</html>
期望本文内容能对大家的学习有所助益,轻松实现抽奖系统。
作者最新文章
JavaScript零基础入门:从环境搭建到运行第一段代码
2026-11-05 15:29:58
HTML链接中javascript:void(0)的作用及现代替代方案
2026-11-05 10:07:47
在线调试 JS 时怎么引入 jQuery 或 Vue 等第三方库
2026-11-05 08:53:56
原生JavaScript实现简易颜色选择器原理与代码
2026-11-03 23:22:19
JS原生表单序列化:FormData与URLSearchParams用法详解
2026-11-03 23:13:21
