Использование класса свертывания Bootstrap не работает для нескольких тегов div - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть список элементов A, B, C, D, E. У каждого элемента, который вы щелкаете по одному из этих элементов списка, есть класс начальной загрузки 'collapse', который показывает div с текстом в нем.Это все работает хорошо.Однако вам нужно снова щелкнуть элемент списка, чтобы свернуть элемент div с текстом в нем.

Я пытаюсь убедиться, что при щелчке по элементу списка все остальные элементы div с открытым кодом немедленно закрываются.

Я нашел что-то, что упоминает об использовании «data-parent», но, как видно из фрагмента ниже, это не работает.Чтобы увидеть проблему, просмотрите фрагмент и разверните фрагмент.

Чтобы воспроизвести мою проблему, выполните следующие действия:

  1. Щелкните элемент A (внизу появится текст «A»)
  2. Щелкните элемент B (вы увидите, что текст «A» все еще отображается, а также «B»)
  3. Нажмите элемент C (вы увидите текст «A», «B''C»)
  4. Щелкните по элементу A (теперь вы увидите «B», «C»), но теперь A свернулся

Я пытаюсь убедиться, что вы видите только текст, относящийся кИдентификатор div, на который вы нажали.

<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>

 <!-- Start Restaurant Menu -->
         <section id="mu-restaurant-menu">
             <div class="container">
                 <div id="menuGroup">
                     <div class="panel">
               <div class="row">
                  <div class="col-md-12">
                     <div class="mu-restaurant-menu-area">
                        <div class="mu-title">
                           <p>&nbsp;</p>
                           <h2>LIST ITEM</h2>
                        </div>
                        <div class="row">
                           <div class="col-md-12">
                              
                              <div class="mu-counter-area">
                                 <ul class="mu-counter-nav">
                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                       <div class="mu-single-counter" data-toggle="collapse" href="#collapseA" aria-expanded="false" data-parent="#menuGroup" aria-controls="collapseFood">
                                          <span>A</span>
                                       </div>
                                    </li>
                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                       <div class="mu-single-counter" data-toggle="collapse" href="#collapseB" aria-expanded="false" data-parent="#menuGroup" aria-controls="collapseVegan">
                                          <span>B</span>
                                       </div>
                                    </li>
                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                       <div class="mu-single-counter" data-toggle="collapse"   href="#collapseC" aria-expanded="false" data-parent="#menuGroup" aria-controls="collapseJain">
                                          <span>C</span>
                                       </div>
                                    </li>
                                    <li class="col-md-2 col-sm-6 col-xs-12">
                                       <div class="mu-single-counter" data-toggle="collapse" href="#collapseD" aria-expanded="false" data-parent="#menuGroup" aria-controls="collapseLunch">
                                          <span>D</span>
                                       </div>
                                    </li>
                                 
                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                       <div class="mu-single-counter" data-toggle="collapse" href="#collapseE" aria-expanded="false" data-parent="#menuGroup" aria-controls="collapseCocktail">
                                          <span>E</span>
                                       </div>
                                    </li>
                                 </ul>
                              </div>
                           </div>
                        </div>
                        <div class="mu-restaurant-menu-content">
                           <div class="row visible-lg visible-md visible-sm visible-xs collapsable-content">
                              <div class="container">
                                 <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                                    <div class="main-menu-box">
                                       <hr>
									   
									   
									   
									   
                                       <div class="collapse" id="collapseA" aria-expanded="true" >
                                          <div class="intro">
										  A
                                             </div>
                                          <hr>
                                       </div>

													<div class="collapse" id="collapseB" aria-expanded="true" >
                                          <div class="intro">
										  B
                                             </div>
                                          <hr>
                                       </div>
                                      
                                      						<div class="collapse" id="collapseC" aria-expanded="true" >
                                          <div class="intro">
										  C
                                             </div>
                                          <hr>
                                       </div>
                                      
                                      			<div class="collapse" id="collapseD" aria-expanded="true" >
                                          <div class="intro">
										  D
                                             </div>
                                          <hr>
                                       </div>

                                      
                                           
                                      			<div class="collapse" id="collapseE" aria-expanded="true" >
                                          <div class="intro">
										  E
                                             </div>
                                          <hr>
                                       </div>
  





                                                      </div>
                                                   </div>
                                                </div>
                                                <hr>
                                             </div>
                                          </div>






                                 </div>
                              </div>
                           </div>
                        </div>
                     </div>
                  </div>
               </div>
                   </div>
                 </div>
                 </div>
                </div>
         </section>
         <!-- End Restaurant Menu -->
    
</body>
</html>

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете сделать это с помощью jquery, например,

<script type="text/javascript">
  $(document).ready(function(){
    $('[data-toggle="collapse"]').click(function(event) {
        if ($('.collapse.in').length > 0) {
            $('.collapse.in').collapse('hide')
        }
    });
  })
</script>

При щелчке data-toggle="collapse" означает, что в элементах списка щелкнете, все открытые элементы div (с ними есть класс .in) закрыты.с функцией свертывания .

<!DOCTYPE html>
<html>
    <head>
        <meta content="width=device-width, initial-scale=1" name="viewport">
            <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css" rel="stylesheet">
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
                </script>
                <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js">
                </script>
            </link>
        </meta>
    </head>
    <body>
        <!-- Start Restaurant Menu -->
        <section id="mu-restaurant-menu">
            <div class="container">
                <div id="menuGroup">
                    <div class="panel">
                        <div class="row">
                            <div class="col-md-12">
                                <div class="mu-restaurant-menu-area">
                                    <div class="mu-title">
                                        <p>
                                        </p>
                                        <h2>
                                            LIST ITEM
                                        </h2>
                                    </div>
                                    <div class="row">
                                        <div class="col-md-12">
                                            <div class="mu-counter-area">
                                                <ul class="mu-counter-nav">
                                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                                        <div aria-controls="collapseFood" aria-expanded="false" class="mu-single-counter" data-parent="#menuGroup" data-toggle="collapse" href="#collapseA">
                                                            <span>
                                                                A
                                                            </span>
                                                        </div>
                                                    </li>
                                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                                        <div aria-controls="collapseVegan" aria-expanded="false" class="mu-single-counter" data-parent="#menuGroup" data-toggle="collapse" href="#collapseB">
                                                            <span>
                                                                B
                                                            </span>
                                                        </div>
                                                    </li>
                                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                                        <div aria-controls="collapseJain" aria-expanded="false" class="mu-single-counter" data-parent="#menuGroup" data-toggle="collapse" href="#collapseC">
                                                            <span>
                                                                C
                                                            </span>
                                                        </div>
                                                    </li>
                                                    <li class="col-md-2 col-sm-6 col-xs-12">
                                                        <div aria-controls="collapseLunch" aria-expanded="false" class="mu-single-counter" data-parent="#menuGroup" data-toggle="collapse" href="#collapseD">
                                                            <span>
                                                                D
                                                            </span>
                                                        </div>
                                                    </li>
                                                    <li class="col-md-2 col-sm-3 col-xs-12">
                                                        <div aria-controls="collapseCocktail" aria-expanded="false" class="mu-single-counter" data-parent="#menuGroup" data-toggle="collapse" href="#collapseE">
                                                            <span>
                                                                E
                                                            </span>
                                                        </div>
                                                    </li>
                                                </ul>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="mu-restaurant-menu-content">
                                        <div class="row visible-lg visible-md visible-sm visible-xs collapsable-content">
                                            <div class="container">
                                                <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                                                    <div class="main-menu-box">
                                                        <hr>
                                                            <div class="collapse" id="collapseA">
                                                                <div class="intro">
                                                                    A
                                                                </div>
                                                                <hr>
                                                                </hr>
                                                            </div>
                                                            <div aria-expanded="true" class="collapse" id="collapseB">
                                                                <div class="intro">
                                                                    B
                                                                </div>
                                                                <hr>
                                                                </hr>
                                                            </div>
                                                            <div aria-expanded="true" class="collapse" id="collapseC">
                                                                <div class="intro">
                                                                    C
                                                                </div>
                                                                <hr>
                                                                </hr>
                                                            </div>
                                                            <div aria-expanded="true" class="collapse" id="collapseD">
                                                                <div class="intro">
                                                                    D
                                                                </div>
                                                                <hr>
                                                                </hr>
                                                            </div>
                                                            <div aria-expanded="true" class="collapse" id="collapseE">
                                                                <div class="intro">
                                                                    E
                                                                </div>
                                                                <hr>
                                                                </hr>
                                                            </div>
                                                        </hr>
                                                    </div>
                                                </div>
                                            </div>
                                            <hr>
                                            </hr>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </body>
</html>
<!-- End Restaurant Menu -->
<script type="text/javascript">
$(document).ready(function(){
    $('[data-toggle="collapse"]').click(function(event) {
        if ($('.collapse.in').length > 0) {
            $('.collapse.in').collapse('hide')
        }
    });
})
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...