我正在使用jQuery Accordion。当页面加载时,所有div都会在隐藏之前闪烁一秒钟。我希望div在加载时保持隐藏状态。我以为我是这样做的,通过javascript隐藏在文档就绪检查之外,如下所示:
$('#accordion div').hide();
$('#accordion2 div').hide();
jQuery(document).ready(function($) {...
然而这不起作用,我怀疑是因为我正在使用尚未声明的$快捷方式。
如何在页面加载时触发hide()函数,而不是等到它完全加载然后隐藏div?
谢谢!
答案 0 :(得分:7)
它不起作用的原因是因为你试图在元素存在之前隐藏它们。如果你把代码放在页面的末尾会起作用,但即便如此,你也不确定它们是否会在一瞬间不可见。
使用CSS隐藏它们,然后当它们存在时它们已被隐藏:
<style type="text/css">
#accordion div, #accordion2 div { display: none; }
</style>
答案 1 :(得分:3)
这些语句试图隐藏尚未加载的内容:
$('#accordion div').hide();
$('#accordion2 div').hide();
使用jQuery,你应该这样写:
$(function(){
$('#accordion div').hide();
$('#accordion2 div').hide();
});
因此,代码将在加载html文档的骨架后执行