使用jQuery UI Accordion小部件隐藏页面加载时的div

时间:2011-05-07 20:36:46

标签: javascript jquery jquery-ui

我正在使用jQuery Accordion。当页面加载时,所有div都会在隐藏之前闪烁一秒钟。我希望div在加载时保持隐藏状态。我以为我是这样做的,通过javascript隐藏在文档就绪检查之外,如下所示:

$('#accordion div').hide();
$('#accordion2 div').hide();

jQuery(document).ready(function($) {...

然而这不起作用,我怀疑是因为我正在使用尚未声明的$快捷方式。

如何在页面加载时触发hide()函数,而不是等到它完全加载然后隐藏div?

谢谢!

2 个答案:

答案 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文档的骨架后执行