Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当滚动位置达到顶部位置时,如何点击功能?_Javascript_Angular - Fatal编程技术网

Javascript 当滚动位置达到顶部位置时,如何点击功能?

Javascript 当滚动位置达到顶部位置时,如何点击功能?,javascript,angular,Javascript,Angular,当滚动位置到达文档的顶部位置时,调用该函数。如何做到这一点?好的方法是使用HostListener @HostListener("window:scroll", []) onWindowScroll() { let scroll = this.window.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0; if (number = 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


这是一个很好的方法,如果您想要更多的阅读材料,可以使用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) {

  } 
}

在主体上使用addEventListener,并侦听“scroll”事件,然后在触发该事件时检查窗口的scrollY属性,若为0,则位于顶部

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

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

到目前为止你试过什么?请提供