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

大量DIV元素导致浏览器窗口resize性能卡顿问题求助

大量DIV元素导致窗口Resize卡顿的优化咨询

我正在为一款小型益智游戏实现点网格布局,现有脚本的小问题并非核心诉求。

核心问题:大量DIV元素导致浏览器窗口resize时性能极为卡顿,即便resize阶段未执行重绘或重定位元素操作。

已在Safari和Chrome中测试,尝试过grid布局,结果和绝对定位一致,均存在卡顿问题。需在较大窗口尺寸下生成约5000个DIV元素才能复现该问题。

想请教:是否不该使用这么多DIV?有没有优化方案或者可替代的大型元素网格实现方式?使用three.js对当前需求来说过于冗余了。

编辑:最大化窗口后重新运行代码即可复现问题,alert会显示生成的DIV数量。

代码片段

JavaScript

let size = 10
let gap = 10
let cols = (window.innerWidth - gap) / (size + gap)
let rows = (window.innerHeight - gap) / (size + gap)
let col = 0
let row = 0
for (let i = 0; i < cols * rows; i++) {

  let div = document.createElement('div')
  document.body.appendChild(div)

  div.style.top = gap + row * (gap + size) + 'px'
  div.style.left = (row % 2 == 0 ? gap : 0) + gap + col * (gap + size) + 'px'
  div.style.animationDelay = (0.25 * i) + 's'

  col += 1
  if (col > cols) {
    col = 0;
    row += 1
  }
}

CSS

div {
  position: absolute;
  background: #adadad;
  width: 10px;
  height: 10px;
  border-radius: 5px;
}

内容的提问来源于stack exchange,提问作者Zoltán Matók

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:45:09