2015-10-08 3 views

ответ

0

Обновленный ответ: Аппликант Плагин 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. 
    }  
}); 

Если вы хотите выполнить код, когда изменяется состояние, а затем сохранить глобальную переменную, которая запоминает состояние. В событии прокрутки проверьте, соответствует ли текущее состояние глобальной переменной. Если нет, состояние изменилось.

+0

Я видел на сайте bootstraps о «affix-top.bs.affix», но думал, что он отображается только при установке аффикса при выходе из верхнего положения. Я совершенно неправильно понял, как это работает. Спасибо, отлично работает! :) – Broett