首页 > 解决方案 > 用户单击锚链接时不触发 Javascript 滚动事件

问题描述

下面的代码检测用户何时滚动,如果向上滚动则显示头部导航。漂亮整洁,但是我遇到的问题是页面上有一些锚链接,如果我单击将用户跳到页面上的锚链接,这也会触发,这会导致一些烦人的行为。我正在尝试找到一个很好的简单解决方案,当用户单击或按键时不会触发此问题。它位于 vuejs nuxt mixin 中。

this._onUserScroll = () => {
      if (window.pageYOffset < 0) {
        return;
      }
      if (Math.abs(window.pageYOffset - this.lastScrollPosition) < OFFSET) {
        return;
      }
      this.navBar =
        window.pageYOffset < this.lastScrollPosition ;
      this.lastScrollPosition = window.pageYOffset;
    };
this._onUserScroll();
window.addEventListener("scroll", this._onUserScroll);

标签: javascriptvue.jsscrollanchoraddeventlistener

解决方案


推荐阅读