1

Я использую bootstrap collapse, чтобы скрыть и показать содержимое на странице, и я хотел бы немного его изменить. Вот пример от Bootply.Open close buttons function bootstrap

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 

 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="col-md-6 col-lg-6"> 
 
     <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#first">FIRST</button> 
 
     <div id="first" class="collapse"> 
 
     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 class="col-md-6 col-lg-6"> 
 
     <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#second">SECOND</button> 
 
     <div id="second" class="collapse"> 
 
     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> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

Допустим, что первый один разомкнут и второй ЗАКРЫТ. Когда я нажимаю на секунду, и он открывается, я бы хотел, чтобы первый запустил CLOSE (и наоборот).

Можно ли это сделать с помощью javascript/jquery? Я все еще изучаю javascript/jquery и мало знаю, поэтому любая помощь будет оценена.

+0

Есть ли у вас какие-либо попытки для этого код? Возможно, например, вы можете получить все элементы (например, кнопки) с классом в массив, пропустить через массив, чтобы скрыть их, а затем показать нажатой кнопку. – TheMintyMate

+0

У вас есть ссылка на данный вопрос. Я использую коллапс, поэтому я не использовал какой-либо кнопочный класс, чтобы скрывать/показывать содержимое. Я не знаю, как написать скрипт, который будет делать следующий: когда вы нажимаете и открываете FIRST, SECOND один закрывается, и если вы нажмете и откройте SECOND, первый из них закрывается. Если вы нажмете и закроете SECOND, они оба останутся закрытыми. – Alva

+1

Хммм в терминах бутстрапа, вы ищете советы, создающие аккордеонов. Я считаю, что это поможет вам http://stackoverflow.com/a/19426220/5865284 Он включает небольшой рабочий пример, который вы также можете адаптировать для своей работы. Надеюсь это поможет! – TheMintyMate

ответ

1

Бутстрап аккордеон без панелей

accordion example требует использования компонента панели. Однако подобное поведение может быть достигнуто с помощью любых блоков.

Вы можете приготовить простой JQuery скрипт, используя следующие ингредиенты:

  1. show.bs.collapse event:

    пожары Это событие сразу же, когда метод экземпляра шоу называется.

  2. .collapse('hide') method:

    Скрытие разборного элемента.

  3. .collapse.in class:

    • .collapse скрывает содержимое
    • .collapse.in показывает содержание

Пожалуйста, проверьте результат : Bootply

$('.collapse').on('show.bs.collapse', function() { 
 
    $('.collapse.in').collapse('hide'); 
 
})
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 

 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="col-md-6 col-lg-6"> 
 
     <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#first">FIRST</button> 
 
     <div id="first" class="collapse"> 
 
     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 class="col-md-6 col-lg-6"> 
 
     <button type="button" class="btn btn-info" data-toggle="collapse" data-target="#second">SECOND</button> 
 
     <div id="second" class="collapse"> 
 
     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> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

+0

Спасибо большое Глеб. Это ТОЧНО, что я искал. Довольно просто, когда у вас есть кто-то, кто может это объяснить. Еще раз спасибо!! :) :) :) – Alva