You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手JavaScript问题:显示数组中前一个数字及重置函数

宾果号码机重置问题解决方案

首先必须给你点个赞!作为JavaScript新手能独立做出基础宾果号码机,这已经超厉害了👏 针对你提到的重置按钮问题,我猜你是想不仅移除红色标记类,还要把整个抽取状态完全重置,让所有号码可以重新参与抽取对吧?

具体实现思路&代码参考:

  • 第一步,恢复所有号码方块的初始样式:除了移除红色类,还要清除所有抽取相关的标记类,让方块回到未被选中的状态;
  • 第二步,重新生成并打乱号码数组:这样下次点击抽取按钮时,能从全新的随机序列开始;
  • 第三步,重置抽取进度:比如把记录当前抽取位置的索引归0,同时清空显示已抽取号码的区域(如果有的话)。
// 获取重置按钮和所有号码方块
const resetBtn = document.querySelector('.reset-btn');
const numberBoxes = document.querySelectorAll('.number-box');

resetBtn.addEventListener('click', function() {
  // 重置所有号码方块样式
  numberBoxes.forEach(box => {
    box.classList.remove('red-mark');
    // 如果还有其他抽取后添加的类,也一起移除
    box.classList.remove('selected');
  });

  // 重新生成并打乱20个数字的数组
  function resetNumberArray() {
    let nums = [];
    for(let i = 1; i <= 20; i++) {
      nums.push(i);
    }
    // 简单的数组打乱方法
    return nums.sort(() => Math.random() - 0.5);
  }
  // 更新全局的宾果号码数组
  globalBingoNumbers = resetNumberArray();

  // 重置抽取索引,下次从第一个数字开始
  currentDrawIndex = 0;

  // 清空已抽取号码的显示区域(根据你的页面结构调整选择器)
  const drawnNumsArea = document.querySelector('.drawn-nums');
  if(drawnNumsArea) {
    drawnNumsArea.innerHTML = '';
  }
});

另外你说还有第二个问题,尽管详细说出来,我帮你一起解决~

内容的提问来源于stack exchange,提问作者ryantinsley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:52:25