簡體   English   中英

如何僅通過單擊打開和折疊同一JQuery手風琴

[英]How to open and collapse the same JQuery accordion with click on it only

在單擊時才嘗試打開和折疊手風琴。 我能夠打開/折疊,但它是越來越也將關閉被點擊另一個手風琴時。

它應該獨立於其他手風琴單獨打開或關閉。

這就是我嘗試過的。

JS:

$(document).on("click", ".accordion-toggle", function () {
        if ($(this).attr('class').indexOf('open') == -1)
   $(this).toggleClass("open").next().slideToggle('fast');
        //Hide the other panels
        $(".accordion-toggle").not($(this)).removeClass("open");
        $(".accordion-content").not($(this).next()).slideUp('fast');
    });

小提琴: 演示

我用一些CSS創建了一個新的提琴...

的HTML

<div class="accordion-container">
    <a href="#" class="accordion-toggle">Heading 1</a>
    <div class="accordion-content">
        Content 1
    </div>
</div>
<div class="accordion-container">
    <a href="#" class="accordion-toggle">Heading 2</a>
    <div class="accordion-content">
        Content 2
    </div>
</div>
<div class="accordion-container">
    <a href="#" class="accordion-toggle">Heading 3</a>
    <div class="accordion-content">
        Content 3
    </div>
</div>

JS

$(document).ready(function () {
    $('.accordion-toggle').on('click', function(event){
        event.preventDefault();
        // create accordion variables
        var accordion = $(this);
        var accordionContent = accordion.next('.accordion-content');

        // toggle accordion link open class
        accordion.toggleClass("open");
        // toggle accordion content
        accordionContent.slideToggle(250);

    });
});

請檢查這個小提琴

單擊HTML即可輕松實現Bootstrap accordion

    <button type="button" class="btn openpanel">Open panel 3</button>
    <button type="button" class="btn closepanel">Close panel 3</button>
    <hr>
    <div class="panel-group" id="accordion">
       <div class="panel panel-default">
         <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel1">Panel 1</a>
            </h4>
         </div>
         <div id="panel1" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 1
            </div>
        </div>
       </div>
       <div class="panel panel-default">
         <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel2">Panel 2</a>
            </h4>
         </div>
         <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 2
            </div>
         </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel3">Panel 3</a>
            </h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">
                Contents panel 3
            </div>
        </div>
      </div>
  </div>

簡單的js代碼

$(".openpanel").on("click", function() {
   $("#panel3").collapse('show');
});
$(".closepanel").on("click", function() {
   $("#panel3").collapse('hide');
});
$('#accordion').on('show.bs.collapse', function () {
   $('#accordion .in').collapse('hide');
});

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM