Как определить, когда элемент, вставленный в Bootstrap, вернулся в исходное положение и больше не прикреплен?Определить, когда прикрепленный элемент вернулся в исходное положение
ответ
Обновленный ответ: Аппликант Плагин Affix поставляется с событиями для обработки такого рода вещей. Пример из W3C Schools:
$(document).ready(function(){
$('.nav').affix({offset: {top: 150} });
$('.nav').on('affix-top.bs.affix', function(){
alert('The navigation menu is about to return to its original top position - The .affix class is about to be replaced with .affix-top');
});
});
Есть другие события, а также, например affix-bottom.bs.affix
, что пожары, когда элемент возвращается в нижней наиболее postition.
Оригинальный ответ: От W3C Schools:
аффикс плагин для переключения между тремя классами: .affix, .affix-топ, и .affix дном. Каждый класс представляет определенное состояние. Вы должны добавить CSS-свойства для обработки фактических позиций, за исключением положения: исправлено в классе .affix.
Так что я думаю, вы можете сделать это следующим образом:
$(window).scroll(function() {
if($("#element").css("position") === "fixed") {
//It is fixed.
}
else {
//It is not fixed.
}
});
Если вы хотите выполнить код, когда изменяется состояние, а затем сохранить глобальную переменную, которая запоминает состояние. В событии прокрутки проверьте, соответствует ли текущее состояние глобальной переменной. Если нет, состояние изменилось.
Я видел на сайте bootstraps о «affix-top.bs.affix», но думал, что он отображается только при установке аффикса при выходе из верхнего положения. Я совершенно неправильно понял, как это работает. Спасибо, отлично работает! :) – Broett