Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在复杂DOM中动态调整长方体高度是否不共振?_Javascript_Html_Performance_Dom_Web - Fatal编程技术网

Javascript 在复杂DOM中动态调整长方体高度是否不共振?

Javascript 在复杂DOM中动态调整长方体高度是否不共振?,javascript,html,performance,dom,web,Javascript,Html,Performance,Dom,Web,快速总结:我们的网上商店有一个侧边栏。有三个箱子叠在一起。每一张幻灯片都显示了产品的幻灯片(图片、名称和价格信息)。这些幻灯片的高度各不相同。幻灯片每隔几秒钟从一个产品循环到另一个产品,收纳盒的高度自动调整 DOM中的所有封闭元素以及整个页面布局是否都需要重新计算并重新提交? 根据前一个问题 添加或删除DOM节点时 动态应用样式时(例如element.style.width=“10px”) …发生DOM回流(您将受到轻微的惩罚) 什么是“回流” 回流是web浏览器进程的名称,用于重新计算文档中元

快速总结:我们的网上商店有一个侧边栏。有三个箱子叠在一起。每一张幻灯片都显示了产品的幻灯片(图片、名称和价格信息)。这些幻灯片的高度各不相同。幻灯片每隔几秒钟从一个产品循环到另一个产品,收纳盒的高度自动调整

DOM中的所有封闭元素以及整个页面布局是否都需要重新计算并重新提交?

根据前一个问题

添加或删除DOM节点时

动态应用样式时(例如element.style.width=“10px”)

…发生DOM回流(您将受到轻微的惩罚)

什么是“回流”

回流是web浏览器进程的名称,用于重新计算文档中元素的位置和几何图形,以便重新呈现部分或全部文档。()

如果包含框的高度为“自动调整”,则可能是:

  • 将图像添加到“幻灯片”,这将被视为“添加DOM节点”
  • 将图像设置为元素的CSS背景,并使用“动态样式”调整该元素的尺寸
根据引用的问题,在这两种情况下,您都有资格再流

为了性能起见,最好将DOM交互保持在最低限度。给这些框一个固定的大小,并使用CSS来很好地居中/适合您的图像,这将是明智的

虽然在大多数情况下这可能不是一个好主意,但你也可以遵循谷歌的建议:

如果进行复杂的渲染更改(如动画),请在流程外执行。使用绝对位置或固定位置来完成此操作

但是对元素进行绝对的修改或固定的修改可能会很快使CSS变得混乱不堪。小心使用


而且,在处理DOM时使用常识;避免执行昂贵的任务,但也不要过于沉迷于优化。

关于可用性问题:我认为大多数最终用户更希望在屏幕周围搜索菜单选项时有额外的空白。一个神经兮兮的界面是非常令人沮丧的,我不想让我想和之做生意的人失望+1表示
,但不要过于沉迷于优化。优化是很好的,但除非您正在制作类似于
Nivo滑块的东西,否则您不必太担心这一点。