JavaScript 实现随机抽奖滚动效果
作者:青柠时间:2026-10-24 07:01:07浏览:127
本文介绍如何使用 JavaScript 实现一个基础的随机抽奖程序。通过创建参与者数组,利用 setTimeout 设置定时器实现文字快速滚动的视觉效果,并结合点击事件控制开始与停止。代码展示了如何随机获取数组索引、更新页面显示以及处理中奖结果,适合初学者学习前端交互逻辑。
JavaScript 随机抽奖功能实现
本文将介绍如何利用 JavaScript 代码实现一个随机抽奖功能,供开发者参考与学习。
第一步,需要定义一个数组来存储所有参与抽奖的人员名单。
初始化参与者数据
var arr=['张三','波波','kk','莉莉','张三丰','刘德华','周杰困','你那儿','zhere','好的'];
接下来,分别为页面上的“开始”和“结束”按钮绑定点击事件监听器。
绑定按钮点击事件
//添加点击开始则开始循环播放
document.getElementById("start").addEventListener("click",va);
//点击停止则停止播放并显示恭喜中奖
document.getElementById("end").addEventListener("click",function (){
count++;
clearTimeout(i);
var name=arr[thisone];
arr.splice(thisone,1);
var get=document.getElementById("get");
get.innerHTML=get.innerHTML+'<br>';
get.innerText=get.innerText+`${count}. `+name;
})
利用 setTimeout 函数构建循环逻辑,设定每 100 毫秒执行一次。在每次循环中,生成一个介于 0 到参与者数组长度之间的随机整数,并持续更新显示区域的文本内容,从而形成文字滚动的视觉效果。
核心滚动逻辑与停止处理
//循环事件
function va(){
let num=arr.length;
console.log(num);
if(num===0){
clearTimeout(i);
//移除开始事件
document.getElementById("start").removeEventListener("click",va);
document.getElementById("show").innerText="没有了";
return;
}
setTimeout("show()",100);
}
//获得当前名字下标
function getindex() {
return parseInt(Math.random()*arr.length);
}
//循环播放列表
function show(){
thisone=getindex();
document.getElementById("show").innerText=arr[thisone];
i=setTimeout("show()",100);
}
以下是最终实现的界面效果展示。
当用户点击“开始”按钮时,触发抽奖滚动流程。

当用户点击“暂停”(停止)按钮时,中断滚动并展示最终中奖结果。

以上内容即为该随机抽奖功能的完整实现方案,希望对读者的学习有所帮助,欢迎继续支持本站获取更多技术分享。
作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
