javascript - 如何在加载时隐藏元素?

标签 javascript jquery html

我的代码使用 jQuery 启用 Accordion 。
当我单击 Accordion dt 元素时, Accordion 会打开,如果再次单击它,它会关闭。

默认情况下,它是打开的,但在整个页面加载后会关闭。
这看起来真的很奇怪,所以我想将它隐藏为默认值。
可能吗?

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>

最佳答案

为什么不将 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; }

关于javascript - 如何在加载时隐藏元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039983/

相关文章:

javascript - Javascript 循环内的闭包

javascript - 如何在点击时从购物车中删除商品?

javascript - Node (Express) - 尝试通过 API 调用保存 PDF

javascript - Owl Carousel 垂直和水平具有相同的高度

javascript - ASP Cookies 或 Session 来存储背景颜色

Javascript 弹出框功能无响应?

jquery - 防止第一个元素之前的可排序下降

jquery - 滚动到页面末尾时使用 Jquery 发出警报

javascript - 如何在没有身份验证页面的情况下将网络表单直接发布到 Google 表格?

javascript - 如何确定弹出窗口是否成功加载?