Bootstrap 4-通过一个按钮操作显示一个div并隐藏另一个div

问题描述 投票:0回答:1

我的目的是不显示“ DIV1”,而显示“ display:flex;”。只需按一下按钮,即可“ DIV2”。我认为最好的方法是使用此https://getbootstrap.com/docs/4.0/components/collapse/#multiple-targets但我不知道该怎么做。

目前,我编写了这段代码,但是我认为使用Bootstrap并不是最佳实践:

CSS

DIV1.openFrame {
  display:flex;
}
DIV1.closeFrame {
  display:none;
}
DIV2.openFrame {
  display:flex;
}
DIV2.closeFrame {
  display:none;
}

JAVASCRIPT(类似这样)

function toggleMenu() {
  // Something in JQuery
  $(".DIV1").toggleClass("openFrame")
  $(".DIV2").toggleClass("closeFrame")

  // OR

  $(".DIV1").toggleClass("closeFrame")
  $(".DIV2").toggleClass("openFrame")
}

HTML

<div class="container">
  <div class="row">
    <div class="col d-flex DIV1">
      1 of 2
    </div>
    <div class="col d-flex DIV2">
      2 of 2
    </div>
  </div> 
</div>
<button class="btn" type="button" onClick="toggleMenu()">
>
</button>

JsFiddle

jquery html css twitter-bootstrap collapse
1个回答
0
投票

这里是您的可行解决方案。我的解释将在几分钟后出现。

function toggleMenu() {
  $(".DIV1").toggleClass("d-none");
  $(".DIV2").toggleClass("d-flex");
  $(".DIV1").toggleClass("d-flex");
  $(".DIV2").toggleClass("d-none");
}
.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<div class="container">
  <div class="row">
    <div class="col d-none DIV1">
      1 of 2
    </div>
    <div class="col d-flex DIV2">
      2 of 2
    </div>
  </div> 
</div>
<button class="btn" type="button" onClick="toggleMenu()">
>
</button>
© www.soinside.com 2019 - 2024. All rights reserved.