滚动后固定导航顶部

时间:2015-06-24 09:35:09

标签: javascript jquery html css css3

我有这个问题,我滚动网站后导航菜单的位置不正确。我想向下滚动网站,以便我的导航菜单保持在同一位置。我需要此菜单在滚动后保持固定在顶部。

在第一次滚动之后,我需要此菜单跳到顶部并可用于下一次向下滚动但仍保持固定在顶部。如果我回滚到网站的基本位置,我需要将菜单返回到它的起始位置(在现在的徽标下)。

我的实际CSS设置:

z-index: 9999;
position: fixed;

Javascript设置:

$("document").ready(function($){
    var nav = $('#menu');

    $(window).scroll(function () {
        if ($(this).scrollTop() > 125) {
            nav.addClass("f-nav");
        } else {
            nav.removeClass("f-nav");
        }
    });
});

但它不起作用。总是如果我向下滚动,导航菜单不会跳到顶部。

您可以看到我的问题:here

2 个答案:

答案 0 :(得分:1)

将初始样式设置为

#menu { text-align: center; height: 65px; width: 100%; z-index: 9999; position: relative; background-color: #0F1113; border-bottom-width: 4px; border-bottom-style: solid; border-bottom-color: #63842d; }

然后将这些样式赋予滚动类

.f-nav { position:fixed !important; top:0; -webkit-transition: height 0.3s // these transitions for give smooth scroll; -moz-transition: height 0.3s // these transitions for give smooth scroll; transition: height 0.3s // these transitions for give smooth scroll; }

答案 1 :(得分:0)

Demo

jquery的

var lastScroll = 0;
var scrollToStick = $("header").height();

$(window).on('scroll', function (evt) {
    var newScroll = $(window).scrollTop();
    $('header').toggleClass('fxdHdr', newScroll > lastScroll && newScroll > scrollToStick);
    lastScroll = newScroll;
});

CSS

body {
    margin: 0;
    padding: 0;
}
.fxdHdr {
    -webkit-transform: translateY(-60px);
    -moz-transform: translateY(-60px);
    -ms-transform: translateY(-60px);
    -o-transform: translateY(-60px);
    transform: translateY(-60px);
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14), 0px 2px 4px rgba(0, 0, 0, 0.28);
}
header {
    height: 60px;
    background: #d3145a;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    -webkit-transition: -webkit-transform 500ms ease;
    -moz-transition: -moz-transform 500ms ease;
    -ms-transition: -ms-transform 500ms ease;
    -o-transition: -o-transformtransform 500ms ease;
    transition: transform 500ms ease;
    text-align:center;
    line-height:60px;
}