如何使用window.requestIdleCallback()添加路口观察员的回调?

时间:2019-11-13 18:28:23

标签: javascript intersection-observer

我有一个动画的相交观察器, 但我想使用window.requestIdleCallback()

我应该在哪里添加代码window.requestIdleCallback(callback_animation)

我的脚本:

if (document.querySelector('#weddings')) { 

let observer_1;
let Element_1;
let prevRatio = 0.0;
let options = {
    root: null,
    rootMargin: "0px",
    threshold: buildThresholdList()
};

// Set things up
        Element_1 = document.querySelector("#img-1");
        initObserver();

//////////////////////////////////////////////////////////////////////////////

function initObserver() {
    observer_1 = new IntersectionObserver(callback_1, options);
    observer_1.observe(Element_1);
}

/////////////////////////////////////////////////////////////////////////////

function buildThresholdList() {...}

/////////////////////////////////////////////////////////////////////////////

var gallerySroll_1 = anime({...});

////////////////////////////////////////////////////////////////////////////

function callback_1 (entries, observer_1) {
  entries.forEach((entry) => {
    if(entry.boundingClientRect.top <= 0 && entry.intersectionRatio != prevRatio){
                gallerySroll_1.seek(gallerySroll_1.duration * (entry.intersectionRatio));
    }else{ gallerySroll_1.seek(1000); }
    prevRatio = entry.intersectionRatio;
  });
}
}

如果我在出现错误之前在if之后的开头添加代码:

TypeError: entries.forEach is not a function
    callback_1 https://alessiopaolettidesign.it/ph/js/main.js:343

0 个答案:

没有答案