在DOM交互期间暂停布局

Man*_*rok 9 javascript

在Javascript中,我正在清除DIV的内容,然后重新填充它,有没有办法暂停这些元素的布局或锁定UI,直到我完成了对HTML的删除?我不希望弹出任何消息,我只是不想在删除/添加项目时看到闪烁.

Gum*_*mbo 14

在将元素插入实际文档之前,您可以在DocumentFragment中构建新元素的内容:

var fragment = document.createDocumentFragment();
// build node in fragment

var div = /* … */; // DIV that should be replaced
div.parentNode.replaceChild(fragment, div);
Run Code Online (Sandbox Code Playgroud)

  • 大多数图形库使用相同的"技巧",称为双缓冲 (2认同)

Mar*_*iss 2

通过添加 style 属性来隐藏它:none,执行这些操作,然后重新显示 div

  • 您可以使用“可见性:隐藏”而不是使用“显示:无” - 它将保持布局流程但不会闪烁内容。也就是说,除非更改涉及更改容器的尺寸。 (2认同)