Javascript 修复折叠/展开块的行为

Javascript 修复折叠/展开块的行为,javascript,jquery,html,twitter-bootstrap,twitter-bootstrap-4,Javascript,Jquery,Html,Twitter Bootstrap,Twitter Bootstrap 4,我使用的是引导程序4 alpha 6版本。我的页面中有几个块。我想通过单击主按钮(id='expand-collapse')来展开/折叠这些块。此外,每个按钮都有单独的按钮,用于打开/关闭混凝土块。好的,我知道我使用下一个js代码,并且有奇怪的行为 例如:我通过单击第一个按钮打开第一个块,然后单击主按钮(id='expand-collapse')打开其他块。但事实上,第一个街区关闭了,其他街区也打开了。如何解决这个问题 HTML: <div class="card"> <

我使用的是引导程序4 alpha 6版本。我的页面中有几个块。我想通过单击主按钮(id='expand-collapse')来展开/折叠这些块。此外,每个按钮都有单独的按钮,用于打开/关闭混凝土块。好的,我知道我使用下一个js代码,并且有奇怪的行为

例如:我通过单击第一个按钮打开第一个块,然后单击主按钮(id='expand-collapse')打开其他块。但事实上,第一个街区关闭了,其他街区也打开了。如何解决这个问题

HTML:

<div class="card">
   <div class="card-header">
      <button id='expand-collapse' type="button" data-parent="#blocks"  data-toggle="collapse" data-target=".block" aria-expanded="false" aria-controls=".block">
      </button>
   </div>

   <div class="card-block">
       <div id="blocks">
          <div class="list-group">

             <div class="list-group-item">
                <a data-toggle="collapse" href="#block-1" aria-expanded="false" aria-controls="block-1">OPEN/CLOSE FIRST</a>
                <div class="collapse block" id="block-1">
                   FIRST BLOCK BLOCK-->
                </div>
             </div>

             <div class="list-group-item">
                <a data-toggle="collapse" href="#block-2" aria-expanded="false" aria-controls="block-2">OPEN/CLOSE SECOND</a>
                <div class="collapse block" id="block-2">
                   SECOND BLOCK
                </div>
            </div>

            <div class="list-group-item">
                <a data-toggle="collapse" href="#block-3" aria-expanded="false" aria-controls="block-3">OPEN/CLOSE THIRD</a>
                <div class="collapse block" id="block-3">
                   THIRD BLOCK
                </div>
            </div>

         </div>
      </div>
   </div>
</div>
$(function() {
  $('#expand-collapse').on('click', function() {
    var target = $(this).attr('data-target');
    $(target).each(function() {
      if ($(this).hasClass('show')) {
        $(this).collapse('hide');
      } else {
        $(this).collapse('show');
      }

    });
  });
});

这种行为是由于数据切换属性造成的。从主按钮上取下,并将脚本更改为- HTML


这里有一个输入错误,看起来你已经问过这个@T.Shah你好!是的,我更新了帖子。你知道如何修复这种行为吗?@ZimSystem你好!我以前也问过同样的问题,但在这个问题中,我问了一个关于奇怪行为的问题。你有什么想法吗?你好!你测试过你的代码吗?我有这种奇怪的行为。我在这行有警告:
如果(showAll===false){
。似乎缺少一些东西。我有点困惑。那么你能告诉我什么呢?我测试了这段代码,但它不起作用。
<button id='expand-collapse' type="button" data-parent="#blocks"   data-target=".block" aria-expanded="false" aria-controls=".block">
       </button>
             $(function() {
             var showAll = false;
            $('#expand-collapse').on('click', function() {
              var target = $(this).attr('data-target');
              //console.log('showAll=' + showAll);
              $(target).each(function() {                     
                  if(showAll === false)  {
                        $(this).collapse('show');
                  }
                  else {
                    $(this).collapse('hide');
                  }
              });

              if(showAll === false) {
                  showAll = true;
              }
              else {
                  showAll = false;
              }

              //console.log('showAll=' + showAll);
            });
          });