Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据滚动位置添加和删除引导navbar类_Javascript_Jquery_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 根据滚动位置添加和删除引导navbar类

Javascript 根据滚动位置添加和删除引导navbar类,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我正在建立一个网站,它在向下滚动(500px)后以一个静态导航栏开始。该函数删除类“导航栏静态顶部”,并添加“导航栏固定顶部”。这是正确的。 但是我想让它在用户返回顶部时变回静态。。 我在网上找不到关于它的任何信息,我尝试过使用jQuery'hasClass()'函数,但这也不起作用……有什么想法吗? 这就是我现在拥有的 $(window).scroll(function() { $('#navbarMain').each(function(){ var imagePo

我正在建立一个网站,它在向下滚动(500px)后以一个静态导航栏开始。该函数删除类“导航栏静态顶部”,并添加“导航栏固定顶部”。这是正确的。 但是我想让它在用户返回顶部时变回静态。。 我在网上找不到关于它的任何信息,我尝试过使用jQuery'hasClass()'函数,但这也不起作用……有什么想法吗?

这就是我现在拥有的

   $(window).scroll(function() {
    $('#navbarMain').each(function(){
    var imagePos = $(this).offset().top;

    var topOfWindow = $(window).scrollTop();

        if (imagePos > topOfWindow-500) {
            $(this).removeClass("navbar-static-top");
            $(this).addClass("navbar-fixed-top");
        }

    });
}); 
我在用这个

$(window).scroll(function() {
    var nav = $('#navbarMain');
    var top = 200;
    if ($(window).scrollTop() >= top) {

        nav.addClass('fixed');

    } else {
        nav.removeClass('fixed');
    }
});

您是否尝试在
else
中再次更改类?像这样的方法应该会奏效:

if(imagePos>topOfWindow-500){
$(this.removeClass(“navbar静态顶部”);
$(this.addClass(“导航条固定顶部”);
}否则{
$(this.addClass(“导航栏静态顶部”);
$(此).removeClass(“导航条固定顶部”);
}

是的,我试过这个。但是当你向下滚动一点点的时候,它会添加“navbar fixed top”类并将其保留在那里。你到底做了什么
var mainbottom = $('#navbarMain').offset().top + $('#navbarMain').height();

$(window).on('scroll',function(){ 
  stop = Math.round($(window).scrollTop()); 
  if (stop > mainbottom) { 
     $('.navbar-static-top').addClass('navbar-fixed-top'); 
  } else { 
     $('.navbar-static-top').removeClass('navbar-fixed-top'); 
  } 
});