如何检测Bootstrap附加元素何时返回其起始位置并且不再粘贴?
答案 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事件中,检查当前状态是否与全局变量匹配。如果没有,国家已经改变。