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

Javascript实现HTML点击切换背景色功能不生效问题排查

背景色切换功能异常问题修复

你当前的代码存在两处问题:

  • 核心错误:点击事件内的randomNumber被写死为固定值1,因此每次点击只会调用数组下标为1的red色,无法切换其他颜色
  • 冗余代码:你在<head>和<body>末尾重复引入了两次first.js,位于<head>的引入会因为DOM尚未完成渲染,导致JS获取DOM元素时抛出报错,虽然body末尾的引入可以正常执行,但仍建议删除head中的冗余引入。

修复后的JavaScript代码

const colors = ["green", "red", "blue", "yellow"];
const btn = document.getElementById('btn');
const color = document.querySelector('.color');

btn.addEventListener('click', function(){
    // 生成适配数组长度的随机合法下标
    const randomNumber = Math.floor(Math.random() * colors.length);
    document.body.style.backgroundColor = colors[randomNumber];
    color.textContent = colors[randomNumber];
});

上述代码中Math.random()会生成0到1之间的随机浮点数,乘以数组长度colors.length后得到0到数组长度值之间的随机浮点数,再通过Math.floor()向下取整即可得到全部合法的数组下标,实现每次点击随机切换背景色的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 13:24:07