【发布时间】:2016-03-11 22:24:53
【问题描述】:
我正在创建一个 StickyNav,当窗口滚动到达 StickyNav 的 offset().top 时,它应该被修复(这里没有新内容)。
我在页面加载时缓存了 StickyNav 的 offset().top,但这个变量对于移动设备和桌面设备是不一样的,所以当我调整屏幕大小时,这个 StickyNav 会在不同的点“固定”(取决于我是否第一次加载移动或桌面上的页面)
我目前的解决方法是在窗口调整大小时更新这个 offset().top 变量,方法是这样做>
getOffSetTop : function(){
var stickyNavBar = $(document).find('.stickynav');
var offSetTop = stickyNavBar.offset().top;
if(stickyNavBar.hasClass('fixed')){
stickyNavBar.removeClass('fixed');
offSetTop = $('.stickynav').offset().top;
stickyNavBar.me.addClass('fixed');
}
return offSetTop;
}
哪个有效,但我不知道是否有更好的方法来实现这一点?
【问题讨论】:
标签: javascript jquery offset sticky