繁体   English   中英

Bootstrap 3的手风琴

[英]Accordion with Bootstrap 3

我正在尝试通过Bootstrap Collapse制作手风琴。 我有这个HTML

<ul id="ul">
    <li>
        <div class="first">
             <button>
                 <i class="fa fa-caret-down" aria-hidden="true"></i>
             </button>
             <a href="#">Name</a>
         </div>
        <ul class="collapse">
            <li>
                <a href="#">item 1</a>
            </li>
            <li>
                <a href="#">item 2</a>
            </li>
        </ul>
    </li>
</ul>

当我单击#ul > li ,它必须显示ul.collapse

我正在使用这个JS

$('#ul > li').on('click', function (e) {
    $('.collapse.in').collapse('hide');
    $(this).find('.collapse').collapse();
});

,但仅在打开和关闭前2次点击有效,此后不起作用。 我需要用JS做到这一点。

试试看

 $('#ul > li').on('click', function (e) {
  if($('.collapse').hasClass('in')) {
    $('.collapse.in').collapse('hide');
  } else {
      $(this).find('.collapse').collapse('show');
  }
});

可以用更好的形式编写它,但这可以解决您的问题。

选项1:您可以使用jQuery中的slideToggle()

 $('#ul > li').on('click', function(e) { $(this).find('.collapse').slideToggle(); }); 
 .collapse { display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <ul id="ul"> <li> <div class="first"> <button> <i class="fa fa-caret-down" aria-hidden="true"></i> </button> <a href="#">Ресторант Топ Мания</a> </div> <ul class="collapse"> <li> <a href="#">Обедно меню</a> </li> <li> <a href="#">Вечерно меню</a> </li> </ul> </li> </ul> 

选项2:使用collapse('hide')collapse('show');

 $('#ul > li').on('click', function(e) { $('.collapse.in').collapse('hide'); $(this).find('.collapse').collapse('show'); }); 
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <ul id="ul"> <li> <div class="first"> <button> <i class="fa fa-caret-down" aria-hidden="true"></i> </button> <a href="#">Ресторант Топ Мания</a> </div> <ul class="collapse"> <li> <a href="#">Обедно меню</a> </li> <li> <a href="#">Вечерно меню</a> </li> </ul> </li> </ul> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM