Javascript 如何改进此代码(固定导航栏)?
我这样做是为了我可以修复导航栏在网站上,当我滚动页面 我怎样才能改进这段代码,以某种方式减少它Javascript 如何改进此代码(固定导航栏)?,javascript,jquery,Javascript,Jquery,我这样做是为了我可以修复导航栏在网站上,当我滚动页面 我怎样才能改进这段代码,以某种方式减少它 <nav class="main_menu"> // some code... </nav> var menu_offset_top_default = $('.main_menu').offset().top; $(window).scroll(function() { var menu_offset_top = $('.main_menu').offset().t
<nav class="main_menu">
// some code...
</nav>
var menu_offset_top_default = $('.main_menu').offset().top;
$(window).scroll(function() {
var menu_offset_top = $('.main_menu').offset().top;
if ($(window).scrollTop() >= menu_offset_top) {
$('.main_menu').addClass('fixed-top');
}
if ($(window).scrollTop() < menu_offset_top_default || $(window).scrollTop() <= 0) {
$('.main_menu').removeClass('fixed-top');
}
});
//一些代码。。。
var menu_offset_top_default=$('.main_menu').offset().top;
$(窗口)。滚动(函数(){
var menu_offset_top=$('.main_menu').offset().top;
if($(窗口).scrollTop()>=菜单\u偏移量\u顶部){
$('.main_menu').addClass('fixed-top');
}
if($(窗口).scrollTop()
$(window).scroll(function() {
if ($(window).scrollTop() >= $('.main_menu').offset().top) {
$('.main_menu').addClass('fixed-top');
}
else {
$('.main_menu').removeClass('fixed-top');
}
});
您可以使用cssposition:sticky
来删除jquery代码
粘性定位图元是指其计算位置
值是粘性的。在其
包含块超过指定的阈值(例如将顶部设置为
在其流根(或它所属的容器)中的
在中滚动),此时它将被视为“卡住”,直到会议结束
其包含块的相对边
例如:
你能像往常一样共享HTML文件吗?那就简单了。位置:sticky
?@BenM class fixed top的位置是固定的还是固定的sticky@bp_gusar阅读position:sticky
。只需为其指定元素高度的top
位置:甚至更短,删除if-else,因此使用:$(“.主菜单”).toggleClass('fixed-top',$(窗口).scrollTop()>=$('.main_菜单').offset().top);
请注意浏览器兼容性