首页  >  问答  >  正文

没有调用IntersectionObserver的回调函数

<p>我有一个交叉观察器。一切都正常工作。我有一个顶部的部分。但是当我向下滚动然后刷新(它会刷新到之前可见的部分),交叉观察器回调会被调用到顶部的部分,而不是可见的部分。</p> <pre class="brush:php;toolbar:false;">const observerCallBack = (entries, observer) => { const [entry] = entries console.log("Callback:",entry.target) if(!entry.isIntersecting) return; if(entry.target.children.length > 1){ entry.target.children[1].classList.remove('slide-from-right') entry.target.children[0].classList.remove('slide-from-left') }else{ entry.target.classList.remove('slide-from-left') } observer.unobserve(entry.target) } const observeOptions = { root:null, threshold:[0.5, 0.9], } const observer = new IntersectionObserver(observerCallBack,observeOptions)</pre> <p>我已经尝试使用console.log,但没有找到任何解决方案。</p>
P粉052724364P粉052724364454 天前419

全部回复(1)我来回复

  • P粉366946380

    P粉3669463802023-08-16 10:48:20

    您需要通过为其提供要观察的元素来订阅您正在创建的观察者。

    observer.observe(this.elementRef.nativeElement);

    回复
    0
  • 取消回复