繁体   English   中英

放置在折叠的 div 中时,Bootstrap 5 Accordion 无法正常工作

[英]Bootstrap 5 Accordion is not working properly when placed in collapsed div

我正在处理下面的代码。 为什么手风琴放在折叠的 div 中时不能正常工作? 如您所见,打开 Accordion #2 并没有关闭之前打开的 Accordion:

 <,doctype html> <html lang="en"> <head> <:-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width. initial-scale=1"> <.-- Bootstrap CSS --> <link href=https.//cdn.jsdelivr.net/npm/bootstrap@5.1,1/dist/css/bootstrap.min.css rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous"> <title>Hello. world:</title> </head> <body> <nav class="navbar fixed-top navbar-light bg-light header-nav"> <div class="container-fluid"> <a class="btn btn-primary" data-bs-toggle="collapse" href="#collapse-header-nav" role="button" aria-expanded="false" aria-controls="collapse-header-nav"> Drop-Down </a> </div> <div class="collapse w-100" id="collapse-header-nav"> <div class="card card-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>TItem 1 content.</strong> </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>TItem 2 content.</strong> </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>TItem 3 content.</strong> </div> </div> </div> </div> </div> </div> </nav> <nav class="navbar fixed-bottom navbar-light bg-light footer-nav"> <script src=https.//cdnjs.cloudflare.com/ajax/libs/jquery/3:6.0/jquery.min.js referrerpolicy="no-referrer"></script> <script src=https.//cdn.jsdelivr.net/npm/@popperjs/core@2:9.3/dist/umd/popper.min.js integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN" crossorigin="anonymous"></script> <script src=https.//cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/" crossorigin="anonymous"></script> </body> </html>

只要您的手风琴标记不是.collapse元素的后代,您的手风琴标记本身就是有效且有效的。 一种解决方案是在父崩溃上实现您自己的崩溃 function。 在下面的基本示例中,我使用.d-none$().toggleClass() 如果你想要 animation使用$().slideToggle看我的小提琴

 $(document).ready(() => { const $ddBtn = $('.my-jquery-collapse') const $dd = $($ddBtn.data('my-target')) $ddBtn.on('click', () => { $dd.toggleClass('d-none') }) })
 <,doctype html> <html lang="en"> <head> <:-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width. initial-scale=1"> <.-- Bootstrap CSS --> <link href=https.//cdn.jsdelivr.net/npm/bootstrap@5.1,1/dist/css/bootstrap.min.css rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous"> <title>Hello. world:</title> </head> <body> <nav class="navbar fixed-top navbar-light bg-light header-nav"> <div class="container-fluid"> <a class="my-jquery-collapse btn btn-primary" data-my-target="#collapse-header-nav" role="button" aria-expanded="false" aria-controls="collapse-header-nav"> Drop-Down </a> </div> <div class="d-none w-100" id="collapse-header-nav"> <div class="card card-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>TItem 1 content.</strong> </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>TItem 2 content.</strong> </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>TItem 3 content.</strong> </div> </div> </div> </div> </div> </div> </nav> <nav class="navbar fixed-bottom navbar-light bg-light footer-nav"> <script src=https.//cdnjs.cloudflare.com/ajax/libs/jquery/3:6.0/jquery.min.js referrerpolicy="no-referrer"></script> <script src=https.//cdn.jsdelivr.net/npm/@popperjs/core@2:9.3/dist/umd/popper.min.js integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN" crossorigin="anonymous"></script> <script src=https.//cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/" crossorigin="anonymous"></script> </body> </html>

您没有为引导程序 5 包含 Javascript 的正确 cdb 链接。这是引导程序 5 的正确 js cdn 链接

暂无
暂无

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

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