在文件准备好时调用hide()时闪烁

时间:2011-12-31 13:28:51

标签: jquery hide

我在默认情况下<div>display:block的特定visibility:visible上准备好文档时调用hide()函数(我们默认显示它,我们尝试使用jQuery隐藏它) )。

有时当我刷新页面时,<div>会在几分之一秒内出现,然后根据hide()函数消失。

我的问题:有没有办法避免这种<div>闪烁?

由于

2 个答案:

答案 0 :(得分:1)

这是渲染元素和执行JS代码之间的时间。 避免这种情况的方法不是将代码放在DOM-ready事件中,而是放在元素之后:

<div id="whatever">...</div>
<script>$('#whatever').hide();</div>

其他任何这样的注册事件处理程序当然仍然可以进入你的DOM就绪函数。

哦,您根本不需要使用visibility - show()hide()只会使用display属性。


如果您要隐藏的元素是“请启用JavaScript”警告,请考虑使用<noscript>...</noscript> - 然后它将永远不会显示,除非JS被禁用。

答案 1 :(得分:0)

是,默认可见性:隐藏,并显示()您想要的。或者,在使用$(''')加载html后立即调用hide()。隐藏()紧跟在相关的html之后。

发生'winkling'是因为一旦html命中浏览器就会加载块,但是在浏览器加载了所有html并且DOM准备就绪之后才会执行隐藏它的jquery。