我想通过点击jQuery按钮来更改'affix'offset-top。
$('#nav2').affix({
offset: {
top: $("#nav1").height()+58
}
});
运行良好,但在加载包含代码的页面后,我无法更改顶部值。
答案 0 :(得分:1)
你可以这样做:
$('#nav2')
.affix({
top: YOUR-NEW-VALUE
})
.affix('checkPosition'); // this will recalculate the position
编辑以回答您的建议,Bootstrap词缀文档声明:
(
checkPosition
)根据相关元素的维度,位置和滚动位置重新计算词缀的状态。根据新状态,将.affix,.affix-top和.affix-bottom类添加到附加内容或从附加内容中删除。每当粘贴内容或目标元素的尺寸发生变化时,都需要调用此方法,以确保正确定位附加内容。
因此无需删除所有类并重新初始化affix
。只需使用上面的代码段即可。
有关Bootstrap affix
的更多信息,请访问here。
最好的选择是将其设置为css:
#nav2 {
position: fixed;
top: YOUR-INITIAL-POSITON
}
然后用jQuery改变顶部位置:
$('#nav2').css('top', YOUR-NEW-VALUE);
希望它有所帮助。