当前位置:首页 > JavaScript

js实现方格

2026-04-07 03:13:21JavaScript

以下是使用JavaScript实现方格的几种常见方法,涵盖基础HTML/CSS渲染、Canvas绘制以及动态交互效果:

基础HTML/CSS实现

通过DOM元素和CSS网格布局快速生成方格:

<div id="grid-container" style="display: grid; grid-template-columns: repeat(5, 50px); gap: 2px;"></div>
<script>
  const container = document.getElementById('grid-container');
  for (let i = 0; i < 25; i++) {
    const cell = document.createElement('div');
    cell.style.height = '50px';
    cell.style.backgroundColor = i % 2 === 0 ? '#ccc' : '#fff';
    container.appendChild(cell);
  }
</script>

Canvas绘制方格

使用Canvas API实现可自定义的方格:

const canvas = document.createElement('canvas');
canvas.width = 300;
canvas.height = 300;
document.body.appendChild(canvas);
const ctx = canvas.getContext('2d');

const size = 30; // 每个方格大小
const cols = canvas.width / size;
const rows = canvas.height / size;

for (let x = 0; x < cols; x++) {
  for (let y = 0; y < rows; y++) {
    ctx.strokeStyle = '#333';
    ctx.strokeRect(x * size, y * size, size, size);
  }
}

动态交互方格

结合事件监听实现点击变色效果:

const grid = document.getElementById('grid-container');
grid.addEventListener('click', (e) => {
  if (e.target !== grid) {
    e.target.style.backgroundColor = `hsl(${Math.random() * 360}, 70%, 50%)`;
  }
});

响应式方格布局

通过CSS变量和JavaScript动态调整方格尺寸:

js实现方格

:root {
  --grid-size: 10;
}
.grid-cell {
  width: calc(100% / var(--grid-size));
  aspect-ratio: 1;
}
function resizeGrid(newSize) {
  document.documentElement.style.setProperty('--grid-size', newSize);
}

性能优化建议

对于大规模方格(如1000+单元格),推荐使用虚拟滚动技术或Canvas渲染。DOM方式在元素过多时可能导致性能下降。

标签: 方格js
分享给朋友:

相关文章

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…

js实现图片移动

js实现图片移动

使用CSS和JavaScript实现图片移动 方法一:使用CSS动画结合JavaScript控制 通过CSS定义动画关键帧,JavaScript动态添加或移除动画类。 /* CSS部分 */ .m…

js 实现截图

js 实现截图

使用html2canvas库实现截图 html2canvas是一个流行的JavaScript库,可将HTML元素转换为Canvas,进而导出为图片。 安装库: npm instal…

js sort 实现

js sort 实现

数组排序基础方法 JavaScript 数组的 sort() 方法默认按照字符串 Unicode 码点顺序排序。直接调用时会将元素转为字符串再比较: const arr = [10, 2, 5, 1…

js实现vue组件

js实现vue组件

使用原生JavaScript实现类似Vue的组件功能 基础组件结构 创建一个简单的组件系统需要实现数据绑定、模板渲染和事件处理。以下是一个基础实现框架: class Component { co…

vue.js实现app

vue.js实现app

Vue.js 实现 App 的方法 Vue.js 可以用于开发移动端 App,主要通过以下两种方式实现: 使用 Capacitor 或 Cordova 进行混合开发 Capacitor 和 Cor…