چگونه کار می کند

پلاگین جاوا اسکریپت جمع شده برای نمایش و پنهان کردن محتوا استفاده می شود. دکمه‌ها یا لنگرها به‌عنوان محرک‌هایی استفاده می‌شوند که به عناصر خاصی که شما آنها را تغییر می‌دهید نگاشت می‌کنند. جمع کردن یک عنصر باعث متحرک شدن آن می شود height از ارزش فعلی آن به 0. با توجه به اینکه CSS چگونه انیمیشن ها را مدیریت می کند، نمی توانید از آن استفاده کنید padding روی یک .collapse عنصر در عوض، از کلاس به عنوان یک عنصر بسته بندی مستقل استفاده کنید.

افکت انیمیشن این مؤلفه به این بستگی دارد prefers-reduced-motion پرس و جو رسانه ای را ببینید بخش حرکت کاهش یافته اسناد دسترسی ما.

نمونه

روی دکمه های زیر کلیک کنید تا عنصر دیگری از طریق تغییرات کلاس نمایش داده و پنهان شود:

  • .collapse محتوا را پنهان می کند
  • .collapsing در طول انتقال اعمال می شود
  • .collapse.show محتوا را نشان می دهد

می توانید از یک لینک با استفاده از href ویژگی یا دکمه ای با data-bs-target صفت. در هر دو مورد، data-bs-toggle="collapse" مورد نیاز است.

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است.
    <p>
        <a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
            Link with href
        </a>
        <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
            Button with data-bs-target
        </button>
    </p>
    <div class="collapse" id="collapseExample">
        <div class="card card-body">
            Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
        </div>
    </div>
    

اهداف متعدد

یک <button> یا <a> می تواند چندین عنصر را با ارجاع به آنها با انتخابگر در خود نشان داده و پنهان کند href or data-bs-target صفت. چندگانه <button> یا <a> اگر هر کدام از آنها به آن ارجاع دهند می توانند یک عنصر را نشان داده و پنهان کنند href or data-bs-target صفت

لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است.
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است.
    <p>
        <a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Toggle first element</a>
        <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Toggle second element</button>
        <button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Toggle both elements</button>
    </p>
    <div class="row">
        <div class="col">
            <div class="collapse multi-collapse" id="multiCollapseExample1">
                <div class="card card-body">
                    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
                </div>
            </div>
        </div>
        <div class="col">
            <div class="collapse multi-collapse" id="multiCollapseExample2">
                <div class="card card-body">
                    Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
                </div>
            </div>
        </div>
    </div>
    

نمونه آکاردئون

استفاده card جزء، می توانید رفتار فروپاشی پیش فرض را برای ایجاد آکاردئون گسترش دهید. برای رسیدن به سبک آکاردئونی، حتما از آن استفاده کنید.accordion.

این بدنه آکاردئونی اولین مورد است. به طور پیش‌فرض پنهان می‌شود، تا زمانی که افزونه collapse کلاس‌های مناسبی را که برای استایل دادن به هر عنصر استفاده می‌کنیم اضافه کند. این کلاس ها ظاهر کلی و همچنین نمایش و پنهان شدن از طریق انتقال CSS را کنترل می کنند. شما می توانید هر یک از این موارد را با CSS سفارشی یا نادیده گرفتن متغیرهای پیش فرض ما تغییر دهید. همچنین شایان ذکر است که تقریباً هر HTML می تواند درون آن قرار گیرد.accordion-body، اگرچه این انتقال سرریز را محدود می کند.

این بدنه آکاردئونی اولین مورد است. به طور پیش‌فرض پنهان می‌شود، تا زمانی که افزونه collapse کلاس‌های مناسبی را که برای استایل دادن به هر عنصر استفاده می‌کنیم اضافه کند. این کلاس ها ظاهر کلی و همچنین نمایش و پنهان شدن از طریق انتقال CSS را کنترل می کنند. شما می توانید هر یک از این موارد را با CSS سفارشی یا نادیده گرفتن متغیرهای پیش فرض ما تغییر دهید. همچنین شایان ذکر است که تقریباً هر HTML می تواند درون آن قرار گیرد.accordion-body، اگرچه این انتقال سرریز را محدود می کند.

این بدنه آکاردئونی اولین مورد است. به طور پیش‌فرض پنهان می‌شود، تا زمانی که افزونه collapse کلاس‌های مناسبی را که برای استایل دادن به هر عنصر استفاده می‌کنیم اضافه کند. این کلاس ها ظاهر کلی و همچنین نمایش و پنهان شدن از طریق انتقال CSS را کنترل می کنند. شما می توانید هر یک از این موارد را با CSS سفارشی یا نادیده گرفتن متغیرهای پیش فرض ما تغییر دهید. همچنین شایان ذکر است که تقریباً هر HTML می تواند درون آن قرار گیرد.accordion-body، اگرچه این انتقال سرریز را محدود می کند.
<div class="accordion" id="accordionExample">
    <div class="accordion-item">
        <h2 class="accordion-header" id="headingOne">
        <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
            Accordion Item #1
        </button>
        </h2>
        <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
        <div class="accordion-body">
            <strong>This is the first item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
        </div>
        </div>
    </div>
    <div class="accordion-item">
        <h2 class="accordion-header" id="headingTwo">
        <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
            Accordion Item #2
        </button>
        </h2>
        <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
        <div class="accordion-body">
            <strong>This is the second item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
        </div>
        </div>
    </div>
    <div class="accordion-item">
        <h2 class="accordion-header" id="headingThree">
        <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
            Accordion Item #3
        </button>
        </h2>
        <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#accordionExample">
        <div class="accordion-body">
            <strong>This is the third item's accordion body.</strong> It is hidden by default, until the collapse plugin adds the appropriate classes that we use to style each element. These classes control the overall appearance, as well as the showing and hiding via CSS transitions. You can modify any of this with custom CSS or overriding our default variables. It's also worth noting that just about any HTML can go within the <code>.accordion-body</code>, though the transition does limit overflow.
        </div>
        </div>
    </div>
    </div>

دسترسی

حتما به عنصر کنترل اضافه کنید. این ویژگی به صراحت وضعیت فعلی عنصر جمع شونده متصل به کنترل صفحه خوان و فناوری های کمکی مشابه را نشان می دهد. اگر عنصر جمع شونده به طور پیش‌فرض بسته باشد، ویژگی روی عنصر کنترل باید مقداری برابر با . اگر عنصر جمع شونده را به‌طور پیش‌فرض با استفاده از کلاس باز کرده‌اید، در عوض روی کنترل تنظیم کنید. افزونه بر اساس باز یا بسته شدن عنصر جمع شونده (از طریق جاوا اسکریپت یا به دلیل اینکه کاربر عنصر کنترل دیگری را که به همان عنصر جمع شونده گره خورده است راه اندازی کرده است) به طور خودکار این ویژگی را روی کنترل تغییر می دهد. اگر عنصر HTML عنصر کنترل یک دکمه نیست (به عنوان مثال، یک)، ویژگی باید به عنصر اضافه شود.

اگر عنصر کنترل شما یک عنصر جمع شونده منفرد را هدف قرار می دهد - یعنی مشخصه به یک انتخابگر اشاره می کند - باید ویژگی را به عنصر کنترل اضافه کنید که حاوی عنصر جمع شونده باشد. صفحه‌خوان‌های مدرن و فناوری‌های کمکی مشابه از این ویژگی استفاده می‌کنند تا میانبرهای اضافی را برای کاربران فراهم کنند تا مستقیماً به خود عنصر جمع شونده پیمایش کنند..

توجه داشته باشید که پیاده سازی فعلی بوت استرپ موارد مختلف را پوشش نمی دهد اختیاری تعاملات صفحه کلید شرح داده شده در شیوه های تألیف WAI-ARIA الگوی آکاردئون 1.1 - شما باید خودتان این موارد را با جاوا اسکریپت سفارشی اضافه کنید.

استفاده

افزونه فروپاشی از چند کلاس برای انجام کارهای سنگین استفاده می کند:

  • .collapse محتوا را پنهان می کند
  • .collapse.show محتوا را پنهان می کند
  • .collapsing محتوا را پنهان می کند

این کلاس ها را می توان در _transitions.scss.

از طریق ویژگی های داده

فقط اضافه کن data-bs-toggle="collapse" و یک data-bs-target به عنصر برای اختصاص خودکار کنترل یک یا چند عنصر تاشو. را data-bs-target ویژگی یک انتخابگر CSS را برای اعمال collapse می پذیرد. حتما کلاس را اضافه کنید collapse به عنصر جمع شونده اگر می خواهید به طور پیش فرض باز شود، کلاس اضافی را اضافه کنیدshow.

برای افزودن مدیریت گروه آکاردئونی مانند به یک ناحیه جمع شونده، ویژگی داده را اضافه کنید data-parent="#selector". برای مشاهده در عمل به دمو مراجعه کنید.

از طریق جاوا اسکریپت

فعال کردن دستی با:

var collapseElementList = [].slice.call(document.querySelectorAll('.collapse'))
    var collapseList = collapseElementList.map(function (collapseEl) {
        return new bootstrap.Collapse(collapseEl)
    })
    

گزینه ها

گزینه ها را می توان از طریق ویژگی های داده یا جاوا اسکریپت منتقل کرد. برای ویژگی های داده، نام گزینه را به آن اضافه کنید data-، همانطور که در data-parent="".

نام نوع پیش فرض توضیحات
parent انتخابگر | شی jQuery | عنصر DOM false اگر والد ارائه شده باشد، پس از نمایش این مورد تاشو، همه عناصر جمع شونده در زیر والد مشخص شده بسته خواهند شد. (مشابه رفتار آکاردئون سنتی - این بستگی به card کلاس). مشخصه باید روی ناحیه جمع شونده هدف تنظیم شود.
toggle بولن true عنصر جمع شونده را هنگام فراخوانی تغییر می دهد

روش ها

روش ها و انتقال های ناهمزمان

همه متدهای API هستند asynchronous و شروع کنید transition. آنها به محض شروع انتقال به تماس گیرنده باز می گردند اما قبل از اینکه تمام شود. علاوه بر این، یک روش فراخوانی بر روی a جزء انتقال نادیده گرفته خواهد شد.

برای اطلاعات بیشتر به مستندات جاوا اسکریپت ما مراجعه کنید.

محتوای شما را به عنوان یک عنصر جمع شونده فعال می کند. یک گزینه اختیاری را می پذیرد object.

محتوای شما را به عنوان یک عنصر جمع شونده فعال می کند. یک گزینه اختیاری را می پذیرد:

var myCollapse = document.getElementById('myCollapse')
    var bsCollapse = new bootstrap.Collapse(myCollapse, {
        toggle: false
    })
    
متد توضیحات
toggle یک عنصر جمع شونده را به نمایش یا پنهان تغییر می دهد. قبل از اینکه عنصر جمع شونده واقعاً نشان داده یا پنهان شود به تماس گیرنده برمی گردد (یعنی قبل از shown.bs.collapse یا hidden.bs.collapse event occurs).
show یک عنصر جمع شونده را به نمایش یا پنهان تغییر می دهد. قبل از اینکه عنصر جمع شونده واقعاً نشان داده یا پنهان شود به تماس گیرنده برمی گردد (یعنی قبل از shown.bs.collapse event occurs).
hide یک عنصر جمع شونده را به نمایش یا پنهان تغییر می دهد. قبل از اینکه عنصر جمع شونده واقعاً نشان داده یا پنهان شود به تماس گیرنده برمی گردد (یعنی قبل از hidden.bs.collapse event occurs).
dispose Destroys an element's collapse.
getInstance روش ایستا که به شما امکان می دهد نمونه فروپاشی مرتبط با یک عنصر DOM را دریافت کنید.

رویدادها

کلاس فروپاشی بوت استرپ چند رویداد را برای اتصال به عملکرد جمع شدن در معرض نمایش می گذارد.

نوع رویداد توضیحات
show.bs.collapse روش ایستا که به شما امکان می دهد نمونه فروپاشی مرتبط با یک عنصر DOM را دریافت کنید.
shown.bs.collapse روش ایستا که به شما امکان می دهد نمونه فروپاشی مرتبط با یک عنصر DOM را دریافت کنید.
hide.bs.collapse روش ایستا که به شما امکان می دهد نمونه فروپاشی مرتبط با یک عنصر DOM را دریافت کنید.
hidden.bs.collapse روش ایستا که به شما امکان می دهد نمونه فروپاشی مرتبط با یک عنصر DOM را دریافت کنید.
var myCollapsible = document.getElementById('myCollapsible')
    myCollapsible.addEventListener('hidden.bs.collapse', function () {
        // do something...
    })