我在默认情况下<div>
和display:block
的特定visibility:visible
上准备好文档时调用hide()函数(我们默认显示它,我们尝试使用jQuery隐藏它) )。
有时当我刷新页面时,<div>
会在几分之一秒内出现,然后根据hide()
函数消失。
我的问题:有没有办法避免这种<div>
闪烁?
由于
答案 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。