我有一个具有默认相对定位的元素,最初使用 jQuery 垂直居中;当滚动出视图时,它变为固定位置并继续保持在页面顶部的视图中。
当我重新调整窗口大小并滚动到固定的元素时,.offset 声明不会更新,因此会导致抖动和进出视图。
如何修复脚本以支持窗口大小调整而不会出现故障?.offset 是否需要用另一种方法替换,或者 .offset 是否可以在重新调整大小时重新声明?
// Repeat menuJQfloat on resize
$(window).resize(function () {
menuJQfloat();
navHomeY = nav.offset().top;
});
这是jsFiddle 演示;要查看故障重新调整页面大小并重新滚动,您会注意到“固定菜单”会跳过或跳动。
编辑:请记住,这个脚本在没有 JS 垂直居中的情况下工作得很好,但是当添加它时,当窗口的大小与第一次初始化时不同时,它一定会导致 nav.offset 计算错误。