以下是一个使用JavaScript实现简单抽奖功能的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>抽奖</title>
</head>
<body>
<button id="startLottery">开始抽奖</button>
<div id="result"></div>
<script>
// 假设的奖品列表
const prizes = ['一等奖', '二等奖', '三等奖', '谢谢参与'];
let isLotteryRunning = false;
document.getElementById('startLottery').addEventListener('click', function () {
if (isLotteryRunning) {
document.getElementById('result').innerText = '抽奖正在进行中,请稍后再试';
return;
}
isLotteryRunning = true;
// 模拟抽奖过程,随机选择一个奖品
const randomIndex = Math.floor(Math.random() * prizes.length);
const selectedPrize = prizes[randomIndex];
document.getElementById('result').innerText = '中奖结果是:' + selectedPrize;
setTimeout(() => {
isLotteryRunning = false;
}, 3000);
});
</script>
</body>
</html>
一、基础概念
document.getElementById
来获取HTML页面中的元素,如按钮和用于显示结果的div
。这是JavaScript操作网页内容的基础方式。addEventListener
为按钮添加点击事件监听器。当按钮被点击时,就会触发相应的函数来执行抽奖逻辑。Math.random()
函数用于生成一个0到1之间的随机小数。通过乘以奖品数组的长度prizes.length
并使用Math.floor
向下取整,可以得到一个在奖品数组索引范围内的随机数,从而确定抽中的奖品。二、优势
三、应用场景
四、可能遇到的问题及解决方法
isLotteryRunning
变量来标记抽奖是否正在进行,当抽奖进行时禁止再次触发抽奖逻辑,并且在抽奖结束后一段时间(这里通过setTimeout
设置3秒)再允许下一次抽奖。领取专属 10元无门槛券
手把手带您无忧上云