Как запустить accordion дважды

601
24 ноября 2016, 09:52

Необходимо запустить accordion на одной странице дважды.

Пример аккордеона:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
<div class="container"> 
  <h2>Accordion Example</h2> 
  <p><strong>Note:</strong> The <strong>data-parent</strong> attribute makes sure that all collapsible elements under the specified parent will be closed when one of the collapsible item is shown.</p> 
  <div class="panel-group" id="accordion"> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse1">Collapsible Group 1</a> 
        </h4> 
      </div> 
      <div id="collapse1" class="panel-collapse collapse in"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">Collapsible Group 2</a> 
        </h4> 
      </div> 
      <div id="collapse2" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse3">Collapsible Group 3</a> 
        </h4> 
      </div> 
      <div id="collapse3" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
  </div> 
</div>

Если просто разместить вызов аккордеона на странице дважды, то первый будет нормально работать, а второй нет. Подскажите, как два одинаковых аккордеона запустить на одной странице?

Answer 1

Пример:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
   
<div class="container"> 
 <div class="row"> 
    <h2>Accordion 1 </h2> 
 <div class="panel-group" id="accordion"> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse1">Collapsible Group 1</a> 
        </h4> 
      </div> 
      <div id="collapse1" class="panel-collapse collapse in"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse2">Collapsible Group 2</a> 
        </h4> 
      </div> 
      <div id="collapse2" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapse3">Collapsible Group 3</a> 
        </h4> 
      </div> 
      <div id="collapse3" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
  </div> 
 </div> 
   
  <div class="row"> 
     <h2>Accordion 2 </h2> 
 <div class="panel-group" id="accordion-2"> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion-2" href="#collapse1-2">Collapsible Group 1</a> 
        </h4> 
      </div> 
      <div id="collapse1-2" class="panel-collapse collapse in"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion-2" href="#collapse2-2">Collapsible Group 2</a> 
        </h4> 
      </div> 
      <div id="collapse2-2" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
    <div class="panel panel-default"> 
      <div class="panel-heading"> 
        <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion-2" href="#collapse3-2">Collapsible Group 3</a> 
        </h4> 
      </div> 
      <div id="collapse3-2" class="panel-collapse collapse"> 
        <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
        sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> 
      </div> 
    </div> 
  </div> 
  </div> 
</div>

Обратите внимание на:

  • id второго аккордеона - id="accordion-2"
  • data атрибуты ссылок - data-parent="#accordion-2" href="#collapse1-2"
  • panel-collapse - id="collapse1-2"

P.S: id на странице может быть в единственном экземпляре, повторного использования одного и того же id не должно быть!

READ ALSO
Как показать успешную загрузку файла?

Как показать успешную загрузку файла?

Есть несколько input c типом файл. Как сделать чтобы после загрузки файла появлялось окно о успешной загрузке файла?.

374
400 (Bad Request) при от правке данных на Spring контроллер

400 (Bad Request) при от правке данных на Spring контроллер

Хочу отправить данные с jquery на java controller.

566
двойной клик android

двойной клик android

здравствуйте, как реализовать двойной клик jquery, который бы работал в браузерах на мобильных устройствах?.

539