简体   繁体   English

CSS/Javascript 可折叠部分不会关闭

[英]CSS/Javascript collapsible section does not close

I have collapsible sections that are supposed to open and close when clicked on, however currently they do not close once they have been opened.我有一些可折叠的部分,它们应该在单击时打开和关闭,但是目前它们一旦打开就不会关闭。

See the use case here: Use case请在此处查看用例:用例

I am using the following code:我正在使用以下代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
  $(document).ready(function(){
  $('.markdown-block .sqs-block-content h3').addClass('ui-closed').css('cursor','pointer');
  $('.markdown-block .sqs-block-content h3').css('cursor','pointer');
  $(".markdown-block .sqs-block-content h3").nextUntil("h3").slideToggle();
  $(".markdown-block .sqs-block-content h3").click(function() {
    $(".markdown-block .sqs-block-content h3").nextUntil("h3").slideUp();
    $(".markdown-block .sqs-block-content h3").removeClass('ui-open');
    $(".markdown-block .sqs-block-content h3").addClass('ui-closed');
$(this).nextUntil("h3").slideDown();
    $(this).toggleClass('ui-closed ui-open');
  });
});
</script>

How can I modify this so that it collapses once opened?我怎样才能修改它以便它在打开后折叠?

The issue here is that you are not applying a conditional on when to set open / closed states.这里的问题是您没有对何时设置打开/关闭状态应用条件。 So every click is triggering all of the actions in one go right now (opening and closing at the same time), and because slideDown was the last action, it 'works' on the first click.所以现在每次点击都会触发一个 go 中的所有操作(同时打开和关闭),并且因为 slideDown 是最后一个操作,所以它在第一次点击时“起作用”。 However, when you want it to close, it will always re-open due to the code calling slideDown at the end.但是,当您希望它关闭时,由于最后调用 slideDown 的代码,它总是会重新打开。 By using an IF statement and separating out the behaviour, the elements will expand / close based on the current classes applied to elements.通过使用 IF 语句并分离行为,元素将根据应用于元素的当前类展开/关闭。

The below script is an example of what will work.下面的脚本是一个可以工作的例子。

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script>
      $(document).ready(function(){
      $('.markdown-block .sqs-block-content h3').addClass('ui-closed').css('cursor','pointer');
      $('.markdown-block .sqs-block-content h3').css('cursor','pointer');
      $(".markdown-block .sqs-block-content h3").nextUntil("h3").slideToggle();
      $(".markdown-block .sqs-block-content h3").click(function() {

        if ( $(this).hasClass('ui-open')) {
          $(".markdown-block .sqs-block-content h3").nextUntil("h3").slideUp();
          $(".markdown-block .sqs-block-content h3").removeClass('ui-open');
          $(".markdown-block .sqs-block-content h3").addClass('ui-closed');
        } else {
          $(".markdown-block .sqs-block-content h3").nextUntil("h3").slideDown();
          $(".markdown-block .sqs-block-content h3").removeClass('ui-closed');
          $(".markdown-block .sqs-block-content h3").addClass('ui-open');
        }
      });
    });
    </script>

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

相关问题 如何动态扩展可折叠的高度(CSS - Javascript) - How to dynamically expand the height of a collapsible (CSS - Javascript) JavaScript + CSS单个可折叠垂直菜单 - JavaScript + CSS Single Collapsible Vertical Menu Javascript中的可折叠部分/区域(Visual Studio 2010/2012) - Collapsible section/region in Javascript (Visual Studio 2010 / 2012) 为什么 Javascript 可折叠在 IE 中不起作用? - Why does Javascript collapsible not work in IE? 要显示的类的Javascript:无,如果打开或关闭选项卡类(可折叠面板) - Javascript for a class to display: none, if a tab class is open or close (Collapsible Panel) (Javascript)Materializecss可折叠,可立即打开,然后单击即可关闭 - (Javascript) Materializecss collapsible instantly open then close when clicking on it 如何在 CSS/JavaScript 中创建半自动打开可折叠 - How to create semi-auto open collapsible in CSS/JavaScript 使用javascript / jQuery在可折叠div中更改CSS背景图像 - changing css background image in collapsible div using javascript/jQuery CSS和Javascript / jQuery-Facebook之类的可折叠DIV部分 - CSS and Javascript / jQuery - Facebook like collapsible DIV Sections 另一个可折叠部分中的可折叠部分不会充分展开 - Collapsible section within another collapsible section won't expand enough
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM