我需要检查列表中的元素是否在视口内。为此,我使用了angular2插件angular-inviewport。
该插件会在卡片在窗口底部时立即返回true。我想要的是,在注册印象之前,卡片应该位于窗口的中心或者至少靠近顶部。为此,我需要当前元素的引用,并将其与窗口高度和Yoffset进行比较,类似于这个(最后一个解决方案)。
下面是我的代码和回调函数的一个小片段:
<li class="" *ngFor="let data of dataArray; let i=index;">
<div id="data{{data.Id}}" snInViewport (inViewportChange)="handlerFunction($event,data)" class="card m-b-" style="height:auto;">
</div>
</li>
甚至尝试添加动态参考
<div #data_{{data.Id}} id="data{{data.Id}}" snInViewport (inViewportChange)="handlerFunction($event,data)" class="card m-b-" style="height:auto;">
不确定这是否正确。
在handlerFunction内,我也想要div的引用。
我该如何实现。 欢迎任何建议、方法或指导!
谢谢