检测附加元素何时返回其原始位置

时间:2015-10-08 13:01:55

标签: javascript jquery twitter-bootstrap affix

如何检测Bootstrap附加元素何时返回其起始位置并且不再粘贴?

1 个答案:

答案 0 :(得分: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在元素返回其最底部的帖子时触发。

原始回答:来自W3C Schools

  

词缀插件在三个类之间切换:.affix,.affix-top和.affix-bottom。每个类代表一个特定的状态。您必须添加CSS属性来处理实际位置,但位置:在.affix类上修复。

所以我想你可以这样做:

$(window).scroll(function() {
    if($("#element").css("position") === "fixed") {
         //It is fixed.
    }
    else {
        //It is not fixed.
    }    
});

如果您只想在状态更改时执行代码,请保留一个记住该状态的全局变量。在scroll事件中,检查当前状态是否与全局变量匹配。如果没有,国家已经改变。