沒有呼叫IntersectionObserver的回呼函數
P粉052724364
2023-08-15 20:15:03
<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>
您需要透過為其提供要觀察的元素來訂閱您正在建立的觀察者。