新手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
相关产品推荐
相关产品推荐

