html - 滚动事件上的动画菜单

标签 html css

我正在使用以下代码创建隐藏/显示导航

基于 http://jsfiddle.net/mariusc23/s6mLJ/31/

我的代码

  var didScroll;
  var lastScrollTop = 0;
  var delta = 5;
  var navbarHeight = $('nav').outerHeight();

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

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

 function hasScrolled() {
   var st = $(this).scrollTop();
if (Math.abs(lastScrollTop - st) <= delta)
  return;

if (st > lastScrollTop && st > navbarHeight ) {
  // Scroll Down
  $('nav').removeClass('nav-down').addClass('nav-up');
} else {
  // Scroll Up
  if (st + $(window).height() < $(document).height()) {
    $('nav').removeClass('nav-up').addClass('nav-down');
  }
}
lastScrollTop = st;
}

但是我希望它在用户向上或向下滚动时向上动画,然后在他们完成滚动时向后动画

最佳答案

它可能会更简单。

例如:

var didScroll;

$(window).scroll(function(event) { didScroll = true; });
setInterval(function() {
  if (didScroll) {
      $('header').removeClass('nav-down').addClass('nav-up');
      didScroll = false;
  }else{
      $('header').removeClass('nav-up').addClass('nav-down');
  }
}, 400);
body {
    padding-top: 40px;
}

header {
    background: #f5b335;
    height: 40px;
    position: fixed;
    top: 0;
    transition: top 0.2s ease-in-out;
    width: 100%;
}

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

main {
   background:url(
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAPklEQVQYV2O8dOnSfwYg0NPTYwTRuAAj0QqxmYBNM1briFaIzRbi3UiRZ75uNgUHGbfvabgfsHqGaIXYPAMAD8wgC/DOrZ4AAAAASUVORK5CYII=
   ) repeat;
    height: 2000px;
}

footer { background: #ddd;}
* { color: white}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header class="nav-down">
    This is your menu.
</header>
<main>
    This is your body.
</main>
<footer>
    This is your footer.
</footer>

关于html - 滚动事件上的动画菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38196024/

相关文章:

javascript - 通过webkit连接html、js和cocoa

HTML5 直播

javascript - javascript、php、html 和 mysql 查询中的多语言字符

javascript - Waypoints 中的 jQuery 每个循环

android - react-native 证明内容中心导致元素在 android 上跳来跳去

html - SVG动画一步一步

css - 从 p :layout 中删除排水沟

html - 图像 Sprite 尺寸大于容器,如何将其放入较小的容器中

html - 向左浮动,垂直居中,显示表格单元格不起作用

html - Div 2 Column Set Set using images and block-links inline-block 不起作用 - Shopify/liquid