绘画前的DOM窗口事件

时间:2019-05-18 23:59:14

标签: javascript html dom events

是否可以在加载HTML之后但在实际绘画发生之前从窗口捕获事件?还是在绘制到屏幕之前访问DOM节点?我想在绘画之前更改元素的样式,以避免视觉闪烁。

这是我所获得的最接近的信息,但是如果刷新页面,您会在应用高度更改之前看到一秒钟的框。

<!DOCTYPE html>
<html lang="en">
  <head>
    <style>
      #container {
        width: 200px;
        height: 200px;
        border: solid;
      }
    </style>
  </head>
  <body>
    <div id="container"></div>
    <script>
      window.addEventListener("DOMContentLoaded", () => {
        document.getElementById("container").style.height = 0;
      });
    </script>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

如果您不想弄乱CSS,可以使用Javascript创建元素并同步添加。

window.addEventListener("DOMContentLoaded", () => {
  let container = document.createElement("div");

  container.id = "container";
  container.style.height = 0;
  document.body.appendChild(container);
});