滚动位置到达最高位置时如何打功能?

时间:2019-01-17 09:57:12

标签: javascript angular

当滚动位置到达文档的顶部位置时,将调用该函数。该怎么做?

3 个答案:

答案 0 :(得分:0)

好的方法是使用HostListener

@HostListener("window:scroll", [])
onWindowScroll() {
    let scroll = this.window.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0;
    if (number = 0) {
      // Do some stuff here
    }
}

现在我只想补充一下,您可能需要考虑Mac桌面上的弹性滚动。这意味着您的滚动位置可能会变为负值,并且在您希望触发此事件时可能不会精确地达到0。

如果您想了解更多阅读材料,这是一个很好的blog post

答案 1 :(得分:0)

在主体上使用addEventListener并侦听'scroll'事件,然后在触发事件时检查window的scrollY属性,如果为0,则位于顶部。

function yourFunction() {
  console.log('you are on top');
}

window.addEventListener('scroll', () => {
  if (window.scrollY == 0) yourFunction();
}, true);

答案 2 :(得分:-1)

您可以使用HostListener来监听滚动事件

@HostListener("window:scroll", ["$event"])
onWindowScroll() {
 // get scroll postion 
  let number = this.window.pageYOffset || 
  this.document.documentElement.scrollTop || this.document.body.scrollTop || 
  0;

 // here you can check the scroll postion
  if (number > 100) {

  } 
}