Javascript 根据滚动位置添加和删除引导navbar类
我正在建立一个网站,它在向下滚动(500px)后以一个静态导航栏开始。该函数删除类“导航栏静态顶部”,并添加“导航栏固定顶部”。这是正确的。 但是我想让它在用户返回顶部时变回静态。。 我在网上找不到关于它的任何信息,我尝试过使用jQuery'hasClass()'函数,但这也不起作用……有什么想法吗?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
这就是我现在拥有的
$(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');
}
});