Jquery 粘性导航菜单的浏览器滚动奇怪行为

Jquery 粘性导航菜单的浏览器滚动奇怪行为,jquery,html,css,scrolltop,Jquery,Html,Css,Scrolltop,我试图创建粘性导航菜单,当网站加载时应该在页面底部,滚动时应该向上移动。当导航菜单在滚动时到达页面顶部时,它应该保持在页面顶部。现在它工作起来了,而且还粘在一起。但当您缓慢滚动时,问题就会出现。只有在一些像素返回到它的位置后,它才会上升超过它应该上升的程度。请注意,快速滚动时不会再现此行为!“过度旋转”的原因是什么?有什么建议可以让它在精确到达顶部时停止移动 html代码 <div class="menu"></div> jquery代码 var menu_height

我试图创建粘性导航菜单,当网站加载时应该在页面底部,滚动时应该向上移动。当导航菜单在滚动时到达页面顶部时,它应该保持在页面顶部。现在它工作起来了,而且还粘在一起。但当您缓慢滚动时,问题就会出现。只有在一些像素返回到它的位置后,它才会上升超过它应该上升的程度。请注意,快速滚动时不会再现此行为!“过度旋转”的原因是什么?有什么建议可以让它在精确到达顶部时停止移动

html代码

<div class="menu"></div>
jquery代码

var menu_height = $('menu').height();
$(window).scroll(function(e){
    e.preventDefault();
    var window_height = $(window).height();
    var window_scroll = $(window).scrollTop();
    if(window_scroll >= window_height - menu_height){
        $('.menu').addClass("fixed_menu");
    }else{
        $('.menu').removeClass("fixed_menu");
    }
});

JSFIDLE示例

您的代码中有一个小的输入错误

var menu_height = $('.menu').height();
你错过了比赛。去拿课程菜单

见:


您的代码中有一个小的输入错误

var menu_height = $('.menu').height();
你错过了比赛。去拿课程菜单

见: