当前位置:首页 > 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 class="slider"> <div class="slides"> <img src="image1.jpg…

vue.js实现轮播

vue.js实现轮播

Vue.js 实现轮播功能 使用第三方库(推荐) Vue.js 生态中有许多成熟的轮播组件库,例如 vue-awesome-swiper 或 swiper,它们功能丰富且易于集成。 安装 swipe…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…