我正在创建一个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;
}


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

最佳答案

也许是简化版:

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

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

else

return 0:

很抱歉在手机上格式不佳。

09-26 04:34