本文提供了一段使用 JavaScript 实现的简单抽奖功能代码。内容涵盖 HTML 结构、CSS 样式设置以及核心逻辑,利用 setInterval 控制抽奖动画与停止机制,并附带运行效果图片,供前端开发者参考学习。
JavaScript 实现简易抽奖程序
本文分享了一段使用 JavaScript 编写的简易抽奖功能代码,供读者参考。
具体代码实现如下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
#box{
border: 1px solid aqua;
height: 100px;
width: 200px;
text-align: center;
line-height: 100px;
margin: auto;
font-size: 22px;
}
.active{
background: slateblue;
}
li{
text-align: center;
list-style:none ;
width: 40px;
height: 20px;
line-height: 20px;
border: 1px solid blue;
margin-left: 40px;
float: left;
}
ul,li
{
list-style: none;
}
#shu
{
margin: auto;
}
</style>
</head>
<body>
<button id="stp">开始</button><button id="off">停止</button>
<div id="box">恭喜<span>1</span>号 </div>
<div id="shu">0</div><span>等奖</span>
<ul>
<li class="active">1号</li>
<li>2号</li>
<li>3号</li>
<li>4号</li>
<li>5号</li>
<li>6号</li>
<li>7号</li>
</ul>
<script>
var t=null;
var ostp=document.getElementById("stp");
var ooff=document.getElementById("off");
var ospan=document.getElementsByTagName("div")[0].getElementsByTagName("span");
var oli=document.getElementsByTagName("ul")[0].getElementsByTagName("li");
var oshu=document.getElementsByClassName("shu");
function mytime(){
var n=Math.floor(Math.random()*7+1);
ospan[0].innerText=n;
ospan[1].innerText=oli[n-1].innerText;
for(let i=0;i<oli.length;i++)
{
oli[i].className="";
}
oli[n-1].className="active";
}
function mytime2()
{
var a=Math.floor(Math.random()*3+1);
shu.innerText=a;
}
ostp.onclick=function(){
clearInterval(t);
t=setInterval(mytime,50);
at=setInterval(mytime2,1000)
}
ooff.onclick=function(){
clearInterval(t);
clearInterval(at);
}
</script>
</body>
</html>
以下是程序运行的实际效果展示。


以上内容为本文的全部介绍,希望能为读者提供有益的帮助,也欢迎持续关注本站获取更多信息。