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

Pixel Art Maker网格生成失效问题技术求助

问题排查与修复方案

你的Pixel Art Maker工具出现的问题主要由几个语法错误和逻辑问题导致,以下是具体的修复点:


1. 表单事件监听拼写错误

你将表单提交事件写成了 'sumbit',正确的事件名称是 'submit'。这个错误导致表单提交时你的监听函数根本不会触发,页面会默认刷新并重置所有设置。

修复代码:

sizePicker.addEventListener('submit', function(event) { // 修正拼写
  event.preventDefault();
  // ... 其他代码
});

2. 颜色选择器初始化错误

你一开始就把 colorPicker 赋值为颜色选择器的初始值(黑色),这意味着后续点击单元格时永远只会应用初始颜色,不会获取当前选择的颜色。应该存储颜色选择器的DOM元素引用,而不是它的初始值。

修复代码:

let colorPicker = document.getElementById("colorPicker"); // 移除 .value

3. 函数声明语法错误

makeGrid 函数声明后多了一个分号,这会导致语法错误,函数无法正常定义。

修复代码:

function makeGrid(height, width) { // 移除后面的分号
  // ... 函数内容
}

4. 函数内变量重复定义与类型错误

在 makeGrid 函数内,你重新定义了 height 和 width 为DOM元素,而不是使用传入的参数。同时,输入框的值是字符串类型,直接用于循环会导致异常,需要转换为数字。

修复代码:
删除函数内的这两行:

let height = document.getElementById("inputHeight");
let width = document.getElementById("inputWidth");

替换为将传入的参数转换为整数:

const gridHeight = parseInt(height, 10);
const gridWidth = parseInt(width, 10);

并在循环中使用转换后的变量:

for (let i = 0; i < gridHeight; i++) {
  // ... 行创建代码
  for (let j = 0; j < gridWidth; j++) {
    // ... 单元格创建代码
  }
}

完整修复后的JavaScript代码

let colorPicker = document.getElementById("colorPicker");
let table = document.getElementById("pixelCanvas");
let sizePicker = document.getElementById("sizePicker");

sizePicker.addEventListener('submit', function(event) {
  event.preventDefault();
  let height = document.getElementById("inputHeight").value;
  let width = document.getElementById("inputWidth").value;
  makeGrid(height, width);
});

function makeGrid(height, width) {
  const gridHeight = parseInt(height, 10);
  const gridWidth = parseInt(width, 10);
  table.innerHTML = null;
  
  for (let i = 0; i < gridHeight; i++) {
    let row = table.insertRow(i);
    for (let j = 0; j < gridWidth; j++) {
      let cell = row.insertCell(j);
      cell.addEventListener("click", function() {
        cell.style.backgroundColor = colorPicker.value;
      });
      cell.addEventListener("dblclick", function() {
        cell.style.backgroundColor = "";
      });
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:00:36