# 创建颜色组合网页:HTML + JavaScript 实现数字颜色生成



一、背景介绍

本项目旨在帮助用户输入两个数字,系统根据数字生成对应的随机颜色组合。用户输入后,系统将返回两个颜色,例如 #FF8C00(红色)和 #FFD700(黄色)。该实现基于前端开发知识,结合文件读写和数据处理,通过JavaScript实现颜色生成功能。无需依赖外部服务,可在本地环境中运行。


二、思路分析

  1. 用户交互设计
    • 使用HTML输入框实现用户输入功能,输入两个数字 xy
    • 通过JavaScript读取输入值,进行颜色生成逻辑。
  2. 颜色生成算法
    • 根据输入数字生成随机颜色。
    • 随机颜色算法需考虑颜色范围,例如使用 Math.random() 生成 3 位整数,组合成十六进制格式。
  3. 输出格式与可读性
    • 将生成的颜色按照指定格式(如 #FF8C00)输出,确保颜色格式正确。

三、代码实现

HTML页面结构

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>数字颜色组合</title>
  <style>
    body { font-family: Arial, sans-serif; }
    #output { margin-top: 20px; }
  </style>
</head>
<body>
  <h1>数字颜色组合</h1>
  <input type="number" id="num1" placeholder="输入第一个数字(1-99)">
  <input type="number" id="num2" placeholder="输入第二个数字(1-99)">
  <div id="output"></div>

  <script>
    function generateColor(x, y) {
      const hex = `#${x.toString().padStart(2, '0')}${y.toString().padStart(2, '0')}`;
      return hex;
    }

    const output = document.getElementById('output');
    const num1 = document.getElementById('num1');
    const num2 = document.getElementById('num2');

    num1.addEventListener('input', () => {
      const x = parseFloat(num1.value);
      num2.addEventListener('input', () => {
        const y = parseFloat(num2.value);
        const hex = generateColor(x, y);
        output.textContent = hex;
      });
    });
  </script>
</body>
</html>

JavaScript实现

function generateColor(x, y) {
  const hex = '#';
  for (let i = 0; i < 3; i++) {
    hex += (Math.floor(Math.random() * 256) + 0x90).toString(16);
  }
  return hex;
}

// 读取用户输入并生成颜色
document.addEventListener('DOMContentLoaded', () => {
  const num1 = document.getElementById('num1');
  const num2 = document.getElementById('num2');

  num1.addEventListener('input', () => {
    const x = parseFloat(num1.value);
    num2.addEventListener('input', () => {
      const y = parseFloat(num2.value);
      const hex = generateColor(x, y);
      document.getElementById('output').textContent = hex;
    });
  });
});

四、总结

本项目通过简单HTML和JavaScript实现了一个数字颜色组合功能,结合了文件读写和数据处理。用户输入两个数字后,系统将生成随机颜色,并以指定格式输出。代码示例使用了HTML和JavaScript,实现了颜色生成功能,具备良好的可读性和可运行性。

该实现不仅锻炼了基础前端开发技能,也展示了如何处理输入数据和生成颜色组合,适用于中级开发者学习。