向上滚动时导航栏不显示

用户代理

参考这里的这个片段,我试图让我的导航在用户向上滚动时显示在顶部。向下滚动时,导航可以正常消失,但在向上滚动时应该会显示。

下面是片段:

<script> src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/core.js"</script>
<nav>
  <div class="container">
    <a href="#" id="brand">Brand</a>
    <button>
      <span></span>
      <span></span>
      <span></span>
    </button>
    
    <ul class="navbar-menu">
      <li><a href="#">Home</a></li>
      <li><a href="#">page a</a></li>
      <li><a href="#">page b</a></li>
      <li><a href="#">page c</a></li>
      <li><a href="#">page d</a></li>
    </ul>
    
  </div>
</nav>
body {
    background: #eee;
    min-height: 3000px;
    padding: 0;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
}

.add_menu{
  background: red;
}

.container {
    width: 80%;
    margin: 0 auto;
    clear: both;
}

a {
    display: inline-block;
    color: #333;
    text-decoration: none;
}

nav {
    background: #fff;
    height: 80px;
    line-height: 80px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
    transition: all 0.5s;
}

nav.scrollUp {
    transform: translateY(-80px);
}

nav ul.navbar-menu {
    margin: 0;
    padding: 0;
    display: inline-block;
    float: right;
}

nav ul.navbar-menu li {
    display: inline-block;
    margin: 0 10px;
}

nav ul.navbar-menu li a {
    color: #666;
    font-size: 14px;
}

nav a#brand {
    text-transform: uppercase;
    foat: left;
    font-weight: 800;
    font-size: 20px;
}

nav button {
    background: none;
    width: 30px;
    height: 40px;
    margin-top: 20px;
    border: none;
    float: right;
    display: inline-block;
    cursor: pointer;
    display: none;
}

nav button span {
    width: 30px;
    height: 40px;
    height: 2px;
    background: #333;
    display: block;
    margin: 5px 0;
}

@media (max-width: 768px) {
    nav ul.navbar-menu {
        display: none;
    }
    nav button {
        display: block;
    }
}
$(document).ready(function () {
  
   var c, currentScrollTop = 0,
       navbar = $('nav');

   $(window).scroll(function () {
      var a = $(window).scrollTop();
      var b = navbar.height();
     
      currentScrollTop = a;
     
      if (c < currentScrollTop && a > b + b) {
        navbar.addClass("scrollUp");
      } else if (c > currentScrollTop && !(a <= b)) {
        navbar.removeClass("scrollUp");
      }
      c = currentScrollTop;
  });
  
});

当我通过检查器查看页面时,我收到一个未捕获的引用错误:

Uncaught ReferenceError: $ is not defined

但是,我的代码片段显示了 jquery 导入。

我怎样才能解决这个问题?

阿布赛义德医学博士

我正在编辑您已修复的代码的某些部分,请检查。

$(document).ready(function () {
  
   var c, currentScrollTop = 0,
       navbar = $('nav');

   $(window).scroll(function () {
      var a = $(window).scrollTop();
      var b = navbar.height();
     
      currentScrollTop = a;
     
      if (c < currentScrollTop && a > b + b) {
        navbar.addClass("scrollUp");
      } else if (c > currentScrollTop && !(a <= b)) {
        navbar.removeClass("scrollUp");
      }
      c = currentScrollTop;
  });
  
});
body {
    background: #eee;
    min-height: 3000px;
    padding: 0;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
}

.add_menu{
  background: red;
}

.container {
    width: 80%;
    margin: 0 auto;
    clear: both;
}

a {
    display: inline-block;
    color: #333;
    text-decoration: none;
}

nav {
    background: #fff;
    height: 80px;
    line-height: 80px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
    transition: all 0.5s;
}

nav.scrollUp {
    transform: translateY(-80px);
}

nav ul.navbar-menu {
    margin: 0;
    padding: 0;
    display: inline-block;
    float: right;
}

nav ul.navbar-menu li {
    display: inline-block;
    margin: 0 10px;
}

nav ul.navbar-menu li a {
    color: #666;
    font-size: 14px;
}

nav a#brand {
    text-transform: uppercase;
    foat: left;
    font-weight: 800;
    font-size: 20px;
}

nav button {
    background: none;
    width: 30px;
    height: 40px;
    margin-top: 20px;
    border: none;
    float: right;
    display: inline-block;
    cursor: pointer;
    display: none;
}

nav button span {
    width: 30px;
    height: 40px;
    height: 2px;
    background: #333;
    display: block;
    margin: 5px 0;
}

@media (max-width: 768px) {
    nav ul.navbar-menu {
        display: none;
    }
    nav button {
        display: block;
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<nav>
  <div class="container">
    <a href="#" id="brand">Brand</a>
    <button>
      <span></span>
      <span></span>
      <span></span>
    </button>
    
    <ul class="navbar-menu">
      <li><a href="#">Home</a></li>
      <li><a href="#">page a</a></li>
      <li><a href="#">page b</a></li>
      <li><a href="#">page c</a></li>
      <li><a href="#">page d</a></li>
    </ul>
    
  </div>
</nav>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当向上滚动时,hidesBarsOnSwipe从不会再显示导航栏

来自分类Dev

在向下滚动时隐藏导航栏并在向上滚动时显示它

来自分类Dev

在向下滚动时隐藏导航栏,并在用户使用jquery向上滚动页面时显示它,无法正常工作

来自分类Dev

滚动uiwebview时隐藏并显示导航栏

来自分类Dev

滚动uiwebview时隐藏并显示导航栏

来自分类Dev

chrome android url导航栏在滚动时不向上滑动

来自分类Dev

导航栏不显示

来自分类Dev

添加媒体查询时,导航栏不显示

来自分类Dev

单击图标时我的导航栏不显示

来自分类Dev

导航栏不显示标题

来自分类Dev

WKWebView不显示导航栏

来自分类Dev

导航栏项目不显示

来自分类Dev

导航栏即使向上滚动1像素也会变得发粘-我希望仅在滚动超过10像素时才会显示

来自分类Dev

导航栏在向下滚动时会更改背景,但在向上滚动时不会向后更改

来自分类Dev

导航栏在向下滚动时会更改背景,但在向上滚动时不会向后更改

来自分类Dev

当我向下滚动并向上滚动或将鼠标悬停在上方时,如何使导航栏透明?

来自分类Dev

Bootstrap 4 导航栏不显示导航栏项目

来自分类Dev

打开UIViewController,不显示UINavigationController导航栏

来自分类Dev

折叠后的导航栏不显示链接

来自分类Dev

打开UIViewController,不显示UINavigationController导航栏

来自分类Dev

按钮不显示在导航栏中

来自分类Dev

Bootstrap 4 导航栏不显示 Toggler

来自分类Dev

底部导航栏不显示图标或文本

来自分类Dev

导航栏不显示子菜单

来自分类Dev

向上滚动android时自动隐藏或显示工具栏

来自分类Dev

facebook应用程序样式向下滚动时隐藏标题栏,向上滚动时再次显示

来自分类Dev

SwiftUI-在NavigationView中嵌套TabView时不显示导航栏标题

来自分类Dev

标头下方的粘性位置侧栏在滚动时不显示

来自分类Dev

使导航栏在滚动开始时缩小

Related 相关文章

  1. 1

    当向上滚动时,hidesBarsOnSwipe从不会再显示导航栏

  2. 2

    在向下滚动时隐藏导航栏并在向上滚动时显示它

  3. 3

    在向下滚动时隐藏导航栏,并在用户使用jquery向上滚动页面时显示它,无法正常工作

  4. 4

    滚动uiwebview时隐藏并显示导航栏

  5. 5

    滚动uiwebview时隐藏并显示导航栏

  6. 6

    chrome android url导航栏在滚动时不向上滑动

  7. 7

    导航栏不显示

  8. 8

    添加媒体查询时,导航栏不显示

  9. 9

    单击图标时我的导航栏不显示

  10. 10

    导航栏不显示标题

  11. 11

    WKWebView不显示导航栏

  12. 12

    导航栏项目不显示

  13. 13

    导航栏即使向上滚动1像素也会变得发粘-我希望仅在滚动超过10像素时才会显示

  14. 14

    导航栏在向下滚动时会更改背景,但在向上滚动时不会向后更改

  15. 15

    导航栏在向下滚动时会更改背景,但在向上滚动时不会向后更改

  16. 16

    当我向下滚动并向上滚动或将鼠标悬停在上方时,如何使导航栏透明?

  17. 17

    Bootstrap 4 导航栏不显示导航栏项目

  18. 18

    打开UIViewController,不显示UINavigationController导航栏

  19. 19

    折叠后的导航栏不显示链接

  20. 20

    打开UIViewController,不显示UINavigationController导航栏

  21. 21

    按钮不显示在导航栏中

  22. 22

    Bootstrap 4 导航栏不显示 Toggler

  23. 23

    底部导航栏不显示图标或文本

  24. 24

    导航栏不显示子菜单

  25. 25

    向上滚动android时自动隐藏或显示工具栏

  26. 26

    facebook应用程序样式向下滚动时隐藏标题栏,向上滚动时再次显示

  27. 27

    SwiftUI-在NavigationView中嵌套TabView时不显示导航栏标题

  28. 28

    标头下方的粘性位置侧栏在滚动时不显示

  29. 29

    使导航栏在滚动开始时缩小

热门标签

归档