如何检测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在元素返回其最底部位置时触发。

原始答案:来自W3C Schools


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


所以我想你可以这样做:

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


如果只想在状态更改时执行代码,则保留一个记住状态的全局变量。在滚动事件中,检查当前状态是否与全局变量匹配。如果不是,则状态已更改。

关于javascript - 检测粘贴的元素何时返回其原始位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33016668/

10-10 02:09