使用窗口或文档就绪函数遇到的问题是,在某些浏览器中,用户可以看到发生的DOM操作该页面正在加载。例如,如果我要删除窗口内的元素,用户可以先看到图像加载,然后将其删除。在dom加载之后但在用户可以看到dom之前发生的就绪事件
我知道我可以隐藏CSS中的所有内容,然后在执行代码后显示它,但这不是我正在寻找的解决方案。它并不总是工作。首先,因为JS是异步的,所以没有办法知道在所有其他dom操作完成后你的show函数将会触发。
基本上我想要的是一个像文档/窗口准备就绪的函数,除了它在DOM可见之前发生之外。在dom加载之后,但在它可见之前 - 那是我想要执行操作的时候。
如果你只是担心样式表加载,你也可以在容器元素上使用局部“opacity:0”,然后在样式表上加载一个“opacity:1!important”。这在IE9之前的浏览器上不起作用,但它在某些情况下提供了无JavaScript解决方案,而不会搞乱高度计算。 – 2014-10-10 17:41:42