如何在加载时默认关闭折叠式菜单

时间:2015-08-07 18:48:07

标签: jquery menu accordion

我有一些jQuery代码可以使我的列表像手风琴一样。但手风琴总是在页面加载时打开。你能告诉我如何在页面加载时关闭它吗?

$(document).ready(function () {
    $('#nav > li > a').click(function() {
        if ($(this).attr('class') != 'active') {
            $('#nav li ul').slideUp();
            $(this).next().slideToggle();
            $('#nav li a').removeClass('active');
            $(this).addClass('active');
        }
    });
});

请告诉我如何编辑它以保持手风琴在页面加载时关闭。

1 个答案:

答案 0 :(得分:1)

我不确切知道你的HTML代码是什么,但如果你想隐藏那个手风琴内容,我认为你可以用$(window).load(function() {});

来做
  • 当文档加载完毕后,您可以使用hide()slideUp()或其他任何功能隐藏手风琴内容(或者当dom准备好时?)
  • (或者如果可能的话。你可以扔掉一些css来隐藏它,即使你没有要求它,我也是为了它而扔掉它)。

查看 here 或下面的摘录:

$(document).ready(function() {
  $('#nav > li > a').click(function() {
    if ($(this).attr('class') != 'active') {
      $('#nav li ul').slideUp();
      $(this).next().slideToggle();
      $('#nav li a').removeClass('active');
      $(this).addClass('active');
    }
  });
});
$(window).load(function() {
  //when the document finished loading, hide it; or maybe place this on the dom ready function?
  $('#nav li ul').hide();
});
/*
#nav li ul{
    display: none
}
*/
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="nav">
  <li>
    <a href="#">Some accordion title I guess</a>
    <ul>
      <li>Some accordion content</li>
      <li>Some accordion content</li>
      <li>Some accordion content</li>
      <li>Some accordion content</li>
      <li>Some accordion content</li>
    </ul>
  </li>
</ul>