javascript - 当面板已经打开时滑动切换面板(向下滑动)

标签 javascript jquery html css

如何解决第二次点击 .flip 关闭(向上滑动)面板的问题?

如您所见,我可以滑动切换所有面板,但是当我尝试关闭打开的面板时,首先关闭它然后重新打开它。

$(document).ready(function() {
  $(".flip").click(function() {
    $(".panel").slideUp("slow");
    $(this).next(".panel").slideToggle("slow");
  });
});
.flip {
  padding: 5px;
  text-align: center;
  background-color: #e5eecc;
  border: solid 1px #c3c3c3;
}

.panel {
  padding: 5px;
  text-align: center;
  background-color: #ddd;
  border: solid 1px #c3c3c3;
}

.panel {
  padding: 10px;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="flip">Flip 1</div>
<div class="panel">Hello Flip 1!</div>
<div class="flip">Flip 2</div>
<div class="panel">Hello Flip 2!</div>
<div class="flip">Flip 3</div>
<div class="panel">Hello Flip 3!</div>
<div class="flip">Flip 4</div>
<div class="panel">Hello Flip 4!</div>

最佳答案

您可以定位应该是 slideToggle()slideUp() 其他人。

$(document).ready(function() {
  $(".flip").click(function() {
    let $this = $(this).next(".panel");
    $(".panel").not($this).slideUp("slow");
    $this.slideToggle("slow");
  });
});
.flip {
  padding: 5px;
  text-align: center;
  background-color: #e5eecc;
  border: solid 1px #c3c3c3;
}

.panel {
  padding: 5px;
  text-align: center;
  background-color: #ddd;
  border: solid 1px #c3c3c3;
}

.panel {
  padding: 10px;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="flip">Flip 1</div>
<div class="panel">Hello Flip 1!</div>
<div class="flip">Flip 2</div>
<div class="panel">Hello Flip 2!</div>
<div class="flip">Flip 3</div>
<div class="panel">Hello Flip 3!</div>
<div class="flip">Flip 4</div>
<div class="panel">Hello Flip 4!</div>

关于javascript - 当面板已经打开时滑动切换面板(向下滑动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53163964/

相关文章:

javascript - java函数保存从文件检索的文本区域内容

javascript - Shopify 管理 API 无法在 Google 托管服务器上运行,但可以在本地主机上运行

javascript - 两个脚本出现 Jade 渲染错误,Uncaught SyntaxError : Unexpected token <

javascript - 在 Chrome 上保存和恢复设置

javascript - Bootstrap DateTimePicker : Open one datetimepicker at a time

javascript - Mouseenter 内部的函数不改变 Attr

javascript - 如何获取输入字段中的javascript函数参数值

javascript - 如何知道所选文本是否已填充父级?

javascript - 如何在 jQuery 中进行计算并打印值?

javascript - var name 和 window.name