如何使导航栏仅显示在最顶层?

时间:2017-03-30 22:34:11

标签: javascript jquery html css navigation

如果用户滚动到顶部,如何才能重新显示导航栏?目前,当用户向上滚动时,导航栏出现,与屏幕的位置无关。

Html

<header class="nav-down">
 <div> navigation </div>
</header> 

Javascript

var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('#navigation-container').outerHeight();

$(window).scroll(function(event){
    didScroll = true;
});

setInterval(function() {
    if (didScroll) {
        hasScrolled();
        didScroll = false;
    }
}, 250);

function hasScrolled() {
var st = $(this).scrollTop();

// Make sure they scroll more than delta
if(Math.abs(lastScrollTop - st) <= delta)
    return;

// If they scrolled down and are past the navbar, add class .nav-up.
// This is necessary so you never see what is "behind" the navbar.
if (st > lastScrollTop && st > navbarHeight){
    // Scroll Down
    $('header').removeClass('navigation-container').addClass('nav-up');
} else {
    // Scroll Up
    if(st + $(window).height() < $(document).height()) {
        $('header').removeClass('nav-up').addClass('nav-down');
    }
}

lastScrollTop = st;
}

CSS

header {
height: 40px;
position: fixed;
top: 0;
transition: top 0.5s ease-in-out;
width: 100%;
z-index: 999;
padding-top: 50px;
}

.nav-up {
top: -70px;
}

谢谢!

1 个答案:

答案 0 :(得分:1)

要实现这一目标,您需要做两件事:

  1. 删除/评论整个导航栏脚本。
  2. 通过删除除以下两行之外的所有内容来清除CSS中的header { height: 40px; width: 100%; } 声明:
  3. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    
    <name>Maven Quick Start Archetype</name>
    <url>http://maven.apache.org</url>
    
        <dependencies>
            <dependency>
                <groupId>org.xerial</groupId>
                <artifactId>sqlite-jdbc</artifactId>
                <version>3.16.1</version>
            </dependency>
        </dependencies>
    
    </project>