修复了带动画的导航栏

时间:2016-09-16 13:20:51

标签: html css animation fixed nav

我正在尝试制作一个固定的导航栏,滚动时缩小一点,(类似这样:http://themes.muffingroup.com/be/biker/)并且我已经修复了导航栏和所有内容,但是我无法获得动画正常工作

有人能让我开始吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

应该是超级简单的@Christian。只需使用jQuery lib中的offset()和scrollTop()函数(如果可以的话)。

$(document).ready(function() {
  var NavTop = $('.nav').offset().top;
  var Nav = function() {
    var scrollTop = $(window).scrollTop();
    if (scrollTop > NavTop) { 
      $('.nav').addClass('sticky');
    } else {
      $('.nav').removeClass('sticky'); 
    }
  };

Nav();

  $(window).scroll(function() {
    Nav();
  });
});

关于动画 - 转换应该trick! 询问您是否需要示例,发布您的代码。

答案 1 :(得分:1)

当您滚动到定义的点时,导航栏会获得额外的课程。来自网站的E.G:

收缩前

#Top_bar {
    position: absolute;
    left: 0;
    top: 61px;
    width: 100%;
    z-index: 30;
    transition: 

收缩后(滚动到某一点):

#Top_bar.is-sticky {
     position: fixed!important;
        width: 100%;
        left: 0;
        top: -60px;
        height: 60px;
        z-index: 701;
        background: #fff;
        opacity: .97;
        filter: alpha(opacity = 97);
        -webkit-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
        -moz-box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);

}

你还需要一些与此类似的jquery代码:

$(window).scroll(function() {    
    var scroll = $(window).scrollTop();

    if (scroll >= 100) {
        $("#Top_bar").addClass("is-sticky");
    } else {
        $("#Top_bar").removeClass("is-sticky");
    }
});