首页 > 解决方案 > 如何在 Angular 中获取 clientHeight?

问题描述

滚动页面时,我尝试获取客户端高度:

@HostListener('window:scroll', ['$event']) onScrollEvent($event) {
   if ($event.scrollHeight - $event.scrollTop === $event.clientHeight) {
    console.log('scrolled to the end');
  }
});

我需要检测用户是否滚动到页面末尾

标签: javascriptangular

解决方案


我认为您可以这样做(有关其他解决方案,请参阅此帖子,有关此解决方案的此文章):

@HostListener("window:scroll") onWindowScroll() {
    let scroll = window.pageYOffset ||
                 document.documentElement.scrollTop ||
                 document.body.scrollTop || 0;

    const max = document.documentElement.scrollHeight -
                document.documentElement.clientHeight;

    if (scroll === max) {
        alert('Bottom');
    }
}

在此处查看Stackblitz 演示


推荐阅读