通过 jQuery 单击按钮时更改偏移顶部'affix'



我想通过单击jQuery的按钮来更改'affix'偏移量。

$('#nav2').affix({
offset: {
top: $("#nav1").height()+58
}
});

运行良好,但是加载包含代码的页面后我无法更改顶部值。

你可以这样做:

$('#nav2')
.affix({
top: YOUR-NEW-VALUE
})
.affix('checkPosition'); // this will recalculate the position

编辑以回答您的建议,引导后缀文档声明:

(checkPosition( 根据相关元素的尺寸、位置和滚动位置重新计算词缀的状态。.affix、.affix-top 和 .affix-bottom 类将根据新状态添加到附加内容中或从中移除。每当贴注内容或目标元素的尺寸发生变化时,都需要调用此方法,以确保贴注内容的正确定位。

因此,无需删除所有类并重新初始化affix。只需使用上面的代码片段。

更多关于 Bootstrapaffix的信息可以在这里找到。

最好的选择是将其设置为 thur css:

#nav2 {
position: fixed;
top: YOUR-INITIAL-POSITON
}

然后使用 jQuery 只更改顶部位置:

$('#nav2').css('top', YOUR-NEW-VALUE);

希望对您有所帮助。

最新更新