简体   繁体   English

手风琴不会自动折叠reactjs

[英]accordion not auto collapsing reactjs

So I have this custom accordion layout for the features needed in the site I am building is not the best with Jquery so how would I make it collapse this is my code, I need it so that if I open number 2 and number 1 is open it will auto close number 1.所以我有这个自定义的手风琴布局,用于我正在构建的站点中所需的功能,这对 Jquery 来说并不是最好的,所以我如何让它折叠 这是我的代码,我需要它,以便如果我打开 2 号和 1 号打开它将自动关闭数字 1。

I have tried the normal jquery one that is around everywhere but it doesn't seem to work been sat looking at my screen with a blank expression for an hour我已经尝试了无处不在的普通 jquery ,但它似乎不起作用 坐在我的屏幕上,一小时的空白表情

<div id="accordion">
<div className="GreyCircle top" />
<div className="Item" >
    <div className="DestinationMarkerGreen active" >1</div>
    <div className="square" />
    <div className="Content" >
        <div className="card">
            <div className="card-header" id="heading1" data-toggle="collapse" data-target="#collapse1" aria-expanded="true" aria-controls="collapse1">
                <h4>Bristol</h4>
                <p>England, United Kingdom</p>
            </div>
            <div id="collapse1" className="collapse show in accordionItem" aria-labelledby="heading1" data-parent="#accordion">
                <div className="card-body">
                              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                            </div>
            </div>
        </div>
    </div>
</div>
<div className="Item" >
    <div className="DestinationMarkerGreen" >2</div>
    <div className="square" />
    <div className="Content" >
        <div className="card">
            <div className="card-header" id="heading2" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">
                <h4>Bristol</h4>
                <p>England, United Kingdom</p>
            </div>
            <div id="collapse2" className="collapse  accordionItem" aria-labelledby="heading2" data-parent="#accordion">
                <div className="card-body">
                              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                            </div>
            </div>
        </div>
    </div>
</div>
<div className="Item" >
    <div className="DestinationMarkerGreen" >3</div>
    <div className="square" />
    <div className="Content" >
        <div className="card">
            <div className="card-header" id="heading3" data-toggle="collapse" data-target="#collapse3" aria-expanded="true" aria-controls="collapse3">
                <h4>Bristol</h4>
                <p>England, United Kingdom</p>
            </div>
            <div id="collapse3" className="collapse show accordionItem" aria-labelledby="heading3" data-parent="#accordion">
                <div className="card-body">
                              Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
                            </div>
            </div>
        </div>
    </div>
</div>

this is what the image should look like这就是图像的样子

$('#accordion').on('show.bs.collapse', function() {
  $('#accordion .in').collapse('hide');
});

this code fixed my issue这段代码解决了我的问题

Why don´t you use https://jqueryui.com/accordion/ ?你为什么不使用https://jqueryui.com/accordion/ If you are not used to jQuery is not a good idea to try to do it by yourself.如果你不习惯 jQuery 不是一个好主意尝试自己做。 ;) ;)

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Accordion - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#accordion" ).accordion();
  } );
  </script>
</head>
<body>

<div id="accordion">
  <h3>Section 1</h3>
  <div>
    <p>
    Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
    ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
    amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
    odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
    </p>
  </div>
  <h3>Section 2</h3>
  <div>
    <p>
    Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet
    purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor
    velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In
    suscipit faucibus urna.
    </p>
  </div>
  <h3>Section 3</h3>
  <div>
    <p>
    Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis.
    Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero
    ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis
    lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui.
    </p>
    <ul>
      <li>List item one</li>
      <li>List item two</li>
      <li>List item three</li>
    </ul>
  </div>
  <h3>Section 4</h3>
  <div>
    <p>
    Cras dictum. Pellentesque habitant morbi tristique senectus et netus
    et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in
    faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia
    mauris vel est.
    </p>
    <p>
    Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus.
    Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
    inceptos himenaeos.
    </p>
  </div>
</div>


</body>
</html>

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

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