【问题标题】:NavBar kind of jerky (jQuery, html, css)NavBar 有点生涩(jQuery、html、css)
【发布时间】:2017-08-20 19:23:57
【问题描述】:

我的导航栏不时出现抖动的问题。它不会一直发生,这很有趣,但当它发生时它会困扰我。问题是在开始时向上/向下滚动时,有时会在打开/关闭时有些滞后。我正在使用谷歌浏览器。

它是使用 html、css 和 jquery 制作的。这是代码盘链接: https://codepen.io/JhnSnw/pen/prLwxa

我尝试了一些我在网上阅读的关于类似问题的内容,但没有奏效。任何形式的帮助都很棒。谢谢。

【问题讨论】:

  • 为什么投反对票?如果您不是高级用户,代码看起来不错。它需要有关滚动事件的知识才能看到问题,更不用说知道如何解决它了。 “有时有效,有时无效”这类问题对于初学者来说很难
  • 您需要重新审视代码中的以下内容。 1.在你的codepen链接中,为什么最后一行有script.java?不过,这可能不会使菜单看起来生涩。 2. 将 jquery 下载到本地文件夹,如果您不这样做,请从那里使用。您的 codepen 具有 code.jquery.com 的 url。从远程服务器,jquery 加载可能需要一些时间,并且稍后的页面呈现可能会出现生涩。 3. 当您没有尝试从中实现任何目的时,为什么要在 js 中处理 window.scroll?
  • 我在几周前开始了网络编码(3 或类似的事情)。我还在学习,我相信有些事情可以做得更好。然而,我真的开始喜欢这一切,如果你愿意的话,我希望那些仍然很糟糕的东西得到改进,让它们看起来“专业”。脚本 java 可以使它工作。当我不能(我想是这样)包含来自我的 PC 或 smth 的文件夹时,我还应该如何编写 codepen 代码。 @Martijin 谢谢伙计,我正在努力变得更好:)

标签: jquery css navbar nav


【解决方案1】:

window.scroll 被触发每个滚动像素(至少在 Firefox 中),我猜这可能会对您的性能产​​生一些影响。为了限制事件的数量,可以使用 dethrottle 或 deboucen。

This webpage 有一个不错的插件,解释得很好:

可视化

虽然 $.throttle 旨在限制回调执行,但它的行为会根据 no_trailing 参数的使用方式略有不同。

使用 no_trailing 进行限制,指定为 false 或未指定:

第一行是触发事件的数量,第二行是可能触发的 detrottled 版本,例如每 50 毫秒(这仍然非常快!)。


您可能应用的另一个解决方案是逻辑函数。在您的代码中,您有一个 if/else。如果您滚动,您总是应用removeClass 或addClass,这不是性能的最佳选择。
您可以轻松记住您是否已经超过阈值,并且仅在再次更改时触发:

if (scrolled > navHeight){
    if( !scrolledPastThreshold ){
        $('.page-nav').addClass('off-canvas');
        scrolledPastThreshold = true;
    }
} else {
    if( scrolledPastThreshold ){
        $('.page-nav').removeClass('off-canvas');
        scrolledPastThreshold = false;
    }
}  

【讨论】:

  • 好的,我会确定的。基本上,你想说这段代码不是“我的错”?
  • 这不是你的错,而是你的责任。你应该解决这个问题,尤其是现在你知道如何解决它。
  • 您介意发布完整的 jquery 代码吗?我对这个“scrolledPasThreshold”有点困惑。
  • sn-p 已完成 95%,您只需在 window.scroll 外部(之前)添加 scrolledPastThreshold = false。
  • 好的,非常感谢。我相信它现在看起来好多了,但我会再测试几次,比如 1000 次哈哈。我现在还注意到的一件事是,当导航栏上升时,导航栏的最后一行(边框)(总是故意留在屏幕上)看起来有点虚线(或虚线)。为什么会发生这种情况,知道吗?
猜你喜欢
  • 1970-01-01
  • 2011-07-18
  • 1970-01-01
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2011-04-20
相关资源
最近更新 更多