【问题标题】:Can someone explain this JS function to me?有人可以向我解释一下这个 JS 函数吗?
【发布时间】:2023-04-08 09:44:01
【问题描述】:

我发现这个非常有用的功能可以告诉您用户是在纯 JavaScript 中的浏览器中向上还是向下滚动。我得到了第一部分,即每次滚动时函数都会触发,以及在哪里询问像素数是否比前一个位置大(因此需要一个真假答案)。

我不明白的是:为什么函数需要一个参数 (e),而函数的最后一部分说给旧滚动的值赋予新的滚动值?

感谢您花时间阅读我, 干杯:*

window.onscroll = function isBottom(e) {
  // print "false" if direction is down and "true" if up
  console.log(this.oldScroll > this.scrollY);
  this.oldScroll = this.scrollY;
}

【问题讨论】:

  • 你代码中的 e 是滚动事件,你的代码中没有用到。该代码为下一个滚动事件在窗口对象上设置了一个 var oldScroll 并针对当前值进行测试。

标签: javascript html scroll parameters


【解决方案1】:

我不明白:为什么函数需要参数 (e)...

它没有,您可以在不更改任何内容的情况下删除它,因为函数代码中没有任何内容使用e。即使是半现代浏览器中的事件处理程序也会使用事件对象作为第一个参数来调用,但您不需要为该参数声明参数(在您的情况下为e)。

...以及函数的最后一部分,它说将旧滚动的值赋予新滚动值?

这是为了记住它看到的最后一个值,以便在scroll 事件触发时下一次,它知道上次的值是什么,并且可以告诉你新的scroll 的方向活动正在进行中。

【讨论】:

  • @mplungjan - 对我来说似乎是这样。 OP有一个真正的问题。我猜对基于 Web 的 JavaScript 来说还是个新手。
猜你喜欢
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
相关资源
最近更新 更多