如何检测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/