如何在加载时隐藏元素?

时间:2013-08-04 05:27:03

标签: javascript jquery html

我的代码使用jQuery手风琴 当我点击accordion dt元素时,手风琴打开,如果我再次单击它,它会关闭。

默认情况下,它已打开但在整页加载后关闭 这看起来很奇怪,所以我想隐藏它作为默认值 有可能吗?

的Javascript

jQuery(document).ready( function() {
    $(".accordion dt").click(function(){
        $(this).next("dd").slideToggle();
        $(this).next("dd").siblings("dd").slideUp();
        $(this).toggleClass("open");   
        $(this).siblings("dt").removeClass("open");
    });
});

window.onload = function(){     
        $(".accordion dd").hide();
}

HTML

<div class="accordion">
    <dt><h3>Menu</h3></dt>
    <dd>
    Menu Contents
    </dd>
</div>

3 个答案:

答案 0 :(得分:2)

正确设置初始元素样式,使其以正确的状态呈现,以便开始。

答案 1 :(得分:2)

为什么不将hide()函数放在首页加载处理程序中?

jQuery(document).ready( function() {
    $(".accordion dd").hide();

    $(".accordion dt").click(function(){
        $(this).next("dd").slideToggle();
        $(this).next("dd").siblings("dd").slideUp();
        $(this).toggleClass("open");   
        $(this).siblings("dt").removeClass("open");
    });
});

无论如何,我建议你把它作为CSS规则:

.accordion dd { display: none; }

答案 2 :(得分:1)

<div class="accordion" style="display:none;">
    <dt><h3>Menu</h3></dt>
    <dd>
    Menu Contents
    </dd>
</div>

或在你的CSS上

accordion{
    display:none;
}