JavaScript 实现随机抽奖滚动效果

作者:青柠

时间:2026-10-24

浏览:126

本文介绍如何使用 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);
}

以下是最终实现的界面效果展示。

当用户点击“开始”按钮时,触发抽奖滚动流程。

JavaScript 随机抽奖功能实现

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

JavaScript 随机抽奖功能实现

以上内容即为该随机抽奖功能的完整实现方案,希望对读者的学习有所帮助,欢迎继续支持本站获取更多技术分享。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章