gpt4 book ai didi

Angular 2 - 当 div 到达浏览器顶部时添加一个类

转载 作者:太空狗 更新时间:2023-10-29 19:26:50 27 4
gpt4 key购买 nike

<div class="main-menu-wrapper home-menu **class to be added here**" >
<div class="main-menu-inner">
<a href="#" class="home-logo">
<i class="logo"></i>

我需要在div到达浏览器顶部时添加一个类,

要求 是在每个 div 到达顶部时开始动画。(这是一个单页网站,有 anchor )

如何在 angular 2 中做到这一点;

最佳答案

Angular 有一个名为 HostListener 的函数装饰器,它接受一个事件名称作为参数。当在宿主元素上触发该事件时,它会调用关联的函数。我们可以使用它来检测元素何时到达浏览器顶部。

  @ViewChild('componentDiv') componentDiv: ElementRef;

@HostListener('window:scroll', [])
onWindowScroll() {
const element = this.componentDiv.nativeElement;
const viewportOffset = element.getBoundingClientRect();
const top = viewportOffset.top;
if (top <= 0) {
// Do something
}
}

HTML 模板可能是这样的

<div style="border: solid 1px black" #componentDiv>
<p>
Angular is here.
</p>
</div>

关于Angular 2 - 当 div 到达浏览器顶部时添加一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678420/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com