JavaScript 实现随机变色块:优化代码并添加结束提示

本文介绍了如何使用 JavaScript 代码实现每隔 0.5 秒随机将一个色块变为绿色,并对代码进行了优化,使之能够随机将背景为白色的色块变为绿色,并在所有色块变为绿色时弹出结束提示。

@1 每隔 0.5s,随机让一个色块变为绿色(非饱和色)

实现每隔 0.5 秒随机让一个色块变为绿色(非饱和色)的代码可以如下:

var blocks = document.getElementsByClassName('block'); // 获取所有色块元素
var timer = setInterval(function() {
  var randomIndex = Math.floor(Math.random() * blocks.length); // 随机生成一个色块索引
  blocks[randomIndex].style.backgroundColor = 'lime'; // 将对应索引的色块设置为绿色
}, 500);

@2 优化代码:随机让背景为白色的色块变为绿色

观察@1实现效果后,我们可以进行优化,通过添加一个条件判断来实现随机让背景为白色的色块变为绿色。优化后的代码如下:

var blocks = document.getElementsByClassName('block'); // 获取所有色块元素
var timer = setInterval(function() {
  var whiteBlocks = Array.from(blocks).filter(function(block) {
    return block.style.backgroundColor === 'white';
  });
  if (whiteBlocks.length > 0) {
    var randomIndex = Math.floor(Math.random() * whiteBlocks.length); // 随机生成一个背景为白色的色块索引
    whiteBlocks[randomIndex].style.backgroundColor = 'lime'; // 将对应索引的色块设置为绿色
  } else {
    clearInterval(timer); // 清除定时器
    alert('结束'); // 弹框警告"结束"
  }
}, 500);

@3 随机让背景为白色的色块变为绿色

代码已经在@2中进行了优化,可以随机让背景为白色的色块变为绿色。

@4 当所有色块均变为绿色时,弹框警告“结束”,并清除定时器内容

当所有色块均变为绿色时,会清除定时器并弹出警告框“结束”。在代码中已经添加了相应的逻辑。

JavaScript 实现随机变色块:优化代码并添加结束提示

原文地址: https://www.cveoy.top/t/topic/p8jS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录