Я очень плохо знаком с API IntersectionObserver , и я экспериментировал с этим кодом:
let target = document.querySelector('.lazy-load');
let options = {
root: null,
rootMargin: '0px',
threshold: 0
}
let observer = new IntersectionObserver(callback, options);
observer.observe(target);
function callback() {
console.log('observer triggered.');
}
Кажется, это работает как надо, и callback()
вызывается всякий раз, когда элемент .lazy-load
входит в область просмотра, но callback()
также запускается один раз при начальной загрузке страницы, что вызывает `console.log ('срабатывает наблюдатель . ');
Есть ли причина для этого обратного вызова при загрузке страницы? Или есть ошибка в том, как я это реализую?
Редактировать: изменение кода ниже по-прежнему вызывает обратный вызов при загрузке страницы.
let target = document.querySelector('.lazy-load');
let options = {
root: null,
rootMargin: '0px',
threshold: 0
}
let callback = function(entries, observer) {
entries.forEach(entry => {
console.log('observer triggered.');
});
};
let observer = new IntersectionObserver(callback, options);
observer.observe(target);