如何获取固定元素的 "original" offset().top?

How to get "original" offset().top of a fixed element?

我正在创建一个 StickyNav,当 window 滚动到达 stickyNav 的 offset().top 时应该修复它(这里没有新内容)。

我在页面加载时缓存了 StickyNav 的 offset().top,但是这个变量对于移动设备和桌面是不一样的,所以当我调整屏幕大小时,这个 StickyNav 在不同的点获得 "fixed"(取决于如果我首先在移动设备或桌面设备上加载页面)

我目前的解决方法是在 window 调整大小时更新此 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;
}

哪个可行,但我不知道是否有更好的方法来实现这一点?

也许是一个简化版本:

if(typeof($(".stickyNavBar.fixed")) != undefined)

return $("stickyNavBar.fixed").offset().top

else

return 0:

对于移动设备上的格式不佳,我们深表歉意。