Учебник по 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 (affix.js)

Плагин Affix позволяет элементу прикрепляться (запираться) к области на странице. Это часто используется с навигационными меню или кнопками со значками социальных сетей, чтобы они «прилипали» к определенной области при прокрутке вверх и вниз по странице.

Плагин включает и выключает это поведение (меняет значение позиции CSS со статического на фиксированное) в зависимости от положения прокрутки.

Плагин аффикса переключается между тремя классами: .affix, .affix-topи .affix-bottom. Каждый класс представляет определенное состояние. position:fixed Вы должны добавить свойства CSS для обработки фактических позиций, за исключением .affixкласса.

Для получения дополнительной информации прочитайте наш учебник по Bootstrap Affix Tutorial .

Совет: плагин Affix часто используется вместе с плагином Scrollspy .


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

Добавьте data-spy="affix"к элементу, за которым вы хотите следить, и атрибут для вычисления положения прокрутки.data-offset-top|bottom="number"

Пример

<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">

Через JavaScript

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

Пример

$('.nav').affix({offset: {top: 150} });


Параметры аффикса

Параметры можно передавать через атрибуты данных или JavaScript. Для атрибутов данных добавьте имя опции к data-, как в data-offset="".

Name Type Default Description
offset number | object | function 10 Specifies the number of pixels to offset from screen when calculating position of scroll. When using a single number, the offset is added to both top and bottom directions. If you only want to control the top or the bottom, use an object, like offset: {top:25}

For multiple offsets, use offset: {top:25, bottom:50}

Tip: Use a function to dynamically provide an offset (can be useful for responsive designs)
target selector | node | element the window object Specifies the target element of the affix

Прикрепить события

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

Event Description Try it
affix.bs.affix Occurs before fixed positioning is added to the element (e.g, when the .affix-top class is about to be replaced with the .affix class)
affixed.bs.affix Occurs after fixed positioning is added to the element (e.g., after the .affix-top class is replaced with the .affix class)
affix-top.bs.affix Occurs before the top element returns to its original (non-fixed) position (e.g., the .affix class is about to be replaced with .affix-top)
affixed-top.bs.affix Occurs after the top element returns to its original (non-fixed) position (e.g., the .affix class has been replaced with .affix-top)
affix-bottom.bs.affix Occurs before the bottom element returns to its original (non-fixed) position (e.g., the .affix class is about to be replaced with .affix-bottom)
affixed-bottom.bs.affix Occurs after the bottom element returns to its original (non-fixed) position (e.g., the .affix class has been replaced with .affix-bottom)

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

Прикрепленная панель навигации

Создайте горизонтальное фиксированное навигационное меню:

Пример

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">

Использование jQuery для автоматического добавления панели навигации

Используйте метод externalHeight() jQuery, чтобы прикрепить панель навигации после того, как пользователь прокрутил указанный элемент (<header>):

Пример

$(".navbar").affix({offset: {top: $("header").outerHeight(true)} });

Scrollspy & Affix

Использование плагина Affix вместе с плагином Scrollspy :

Горизонтальное меню (навигационная панель)

<body data-spy="scroll" data-target=".navbar" data-offset="50">

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>

</body>

Вертикальное меню (сиденав)

<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">

<nav class="col-sm-3" id="myScrollspy">
  <ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
  ...
</nav>

</body>

Анимированная панель навигации на аффиксе

Используйте CSS для управления различными классами .affix:

Пример. Изменение цвета фона и заполнения панели навигации при прокрутке

.affix {
  top: 0;
  width: 100%;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  background-color: #F44336;
  border-color: #F44336;
}

.affix a {
  color: #fff !important;
  padding: 15px !important;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.affix-top a {
  padding: 25px !important;
}

Пример — слайд в навигационной панели

.affix {
  top: 0;
  width: 100%;
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}

.affix-top {
  position: static;
  top: -35px;
}