我正在创建一个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:
很抱歉在手机上格式不佳。