滑动到一定位置固定导航栏闪烁?

我在写一个例子的时候遇到了一个问题。因为二级导航上面有个点击加载更多,从而导致导航栏提前固定,我把导航栏距离文档顶部的高度写到onscroll里面之前的问题没有了,但是又出现了导航栏闪烁的问题,请求大神给指教指教。
这是提前固定位置的代码


    var nav=$(".agenda .erji-nav");
    var navST=$(".agenda .erji-nav").offset().top;
    $(window).scroll(function(){
        if($(document).scrollTop()+80>navST){
            nav.addClass("hahaha");
        }
        else if($(document).scrollTop()+80<=navST){
            nav.removeClass("hahaha");
            
        }
    });

原本导航栏应该从这儿开始固定

clipboard.png
但是当我点击加载更多之后提前固定了

clipboard.png

然后我把var navST=$(".agenda .erji-nav").offset().top;写在$(window).scroll()了
我在滑动页面的时候导航栏开始闪烁,我试了好几种方法都不行,请大佬给指条路子

阅读 2.5k
2 个回答

你这个是不是因为sroll的时候频繁触发

if($(document).scrollTop()+80>navST){
    nav.addClass("hahaha");
}
else if($(document).scrollTop()+80<=navST){
    nav.removeClass("hahaha");
    
}

这一段内容啊,我觉得你可以去看下函数防抖与函数节流.希望可以帮到你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题