Учебник по Bootstrap 3

БС ДОМ БС Начать Базовая сетка BS Типография БС Таблицы БС Изображения БС БС Джамботрон БС Уэллс Оповещения о BS Кнопки БС Группы кнопок BS BS Глификоны Значки/этикетки BS Индикаторы прогресса BS БС Пагинация БС пейджер Группы списка BS БС Панели Выпадающие списки БС Свернуть БС Таблетки/таблетки BS БС Навбар БС Формы Входы БС Входы БС 2 Размер ввода BS Медиа-объекты BS БС Карусель BS Модальный Подсказка БС БС Поповер БС прокрутки BS-аффикс БС фильтры

Сетки начальной загрузки

Сетевая система БС BS Сложенный/горизонтальный BS Сетка Малая Сетка BS средняя BS Сетка Большая Примеры сетки BS

Загрузочные темы

Шаблоны БС Тема BS "Просто я" Тема BS "Компания" Тема BS "Группа"

Примеры начальной загрузки

Примеры БС викторина БС Упражнения Сертификат БС

Bootstrap CSS Ref

CSS все классы CSS типографика CSS-кнопки CSS-формы CSS-помощники CSS-изображения CSS-таблицы Выпадающие списки CSS CSS-навигация Глификоны

Bootstrap JS ссылка

JS-аффикс JS-оповещение JS-кнопка JS Карусель Свернуть JS Выпадающий список JS Модальный JS JS всплывающее окно JS прокрутка Вкладка JS JS-подсказка


Выпадающий список Bootstrap JS


Выпадающий список JS (dropdown.js)

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

Учебное пособие по раскрывающимся спискам см. в нашем учебном пособии по раскрывающимся спискам Bootstrap .


Классы выпадающего плагина

Class Description Example
.dropdown Indicates a dropdown menu
.dropdown-menu Builds the dropdown menu
.dropdown-menu-right Right-aligns a dropdown menu
.dropdown-header Adds a header inside the dropdown menu
.dropup Indicates a dropup menu
.disabled Disables an item in the dropdown menu
.divider Separates items inside the dropdown menu with a horizontal line

Через атрибуты data-*

Добавьте data-toggle="dropdown"к ссылке или кнопке, чтобы переключить выпадающее меню.

Пример

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown Example</a>

Через JavaScript

Включить вручную с помощью:

Пример

$('.dropdown-toggle').dropdown();

Примечание. Атрибут data-toggle="dropdown" является обязательным независимо от того, вызываете ли вы метод dropdown().



Параметры раскрывающегося списка

None

Выпадающие методы

В следующей таблице перечислены все доступные методы раскрывающегося списка.

Method Description Try it
.dropdown("toggle") Toggles the dropdown

Выпадающие события

В следующей таблице перечислены все доступные события раскрывающегося списка.

Event Description Try it
show.bs.dropdown Occurs when the dropdown is about to be shown.
shown.bs.dropdown Occurs when the dropdown is fully shown (after CSS transitions have completed)
hide.bs.dropdown Occurs when the dropdown is about to be hidden
hidden.bs.dropdown Occurs when the dropdown is fully hidden (after CSS transitions have completed)

Совет: используйте event.relatedTarget jQuery, чтобы получить элемент, вызвавший выпадающее меню:

Пример

$(".dropdown").on("show.bs.dropdown", function(event){
  var x = $(event.relatedTarget).text(); // Get the text of the element
  alert(x);
});

Дополнительные примеры

Измените значок курсора на перевернутый

В следующем примере значок курсора изменяется с направленного вниз на вверх при нажатии раскрывающегося списка:

Пример

/* CSS: */
<style>
.caret.caret-up {
  border-top-width: 0;
  border-bottom: 4px solid #fff;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $(".dropdown").on("hide.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret"></span>');
  });
  $(".dropdown").on("show.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret caret-up"></span>');
  });
});
</script>

Панель навигации с раскрывающимся списком

В следующем примере добавляется раскрывающееся меню для кнопки на панели навигации:

Пример

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div>
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
          <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
    </div>
  </div>
</nav>

Следующий пример добавляет раскрывающееся меню с формой входа в панель навигации:

Пример

<ul class="nav navbar-nav navbar-right">
  <li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Login <span class="glyphicon glyphicon-log-in"></span></a>
    <div class="dropdown-menu">
      <form id="formlogin" class="form container-fluid">
        <div class="form-group">
          <label for="usr">Name:</label>
          <input type="text" class="form-control" id="usr">
        </div>
        <div class="form-group">
          <label for="pwd">Password:</label>
          <input type="password" class="form-control" id="pwd">
        </div>
          <button type="button" id="btnLogin" class="btn btn-block">Login</button>
      </form>
      <div class="container-fluid">
        <a class="small" href="#">Forgot password?</a>
      </div>
    </div>
  </li>
</ul>

Многоуровневые раскрывающиеся списки

В этом примере мы используем jQuery для открытия многоуровневых раскрывающихся списков по клику:

Пример

<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>

В этом примере мы создали собственный .dropdown-submenuкласс для многоуровневых раскрывающихся списков:

Пример

 /* CSS: */
<style>
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>