Javascript Eslint-';观察员';在定义之前是否已使用?
我试图解决我的订单问题,我得到一个Eslint错误,在定义之前使用了“observer”。但是当我在onInterSection函数上面替换观测者时,我得到的onInterSection函数在它被定义之前就被使用了Javascript Eslint-';观察员';在定义之前是否已使用?,javascript,babeljs,Javascript,Babeljs,我试图解决我的订单问题,我得到一个Eslint错误,在定义之前使用了“observer”。但是当我在onInterSection函数上面替换观测者时,我得到的onInterSection函数在它被定义之前就被使用了 (() => { let images = [...document.querySelectorAll('[data-src]')]; const settings = { rootMargin: '50px 0px', thr
(() => {
let images = [...document.querySelectorAll('[data-src]')];
const settings = {
rootMargin: '50px 0px',
threshold: 0.01
};
const onIntersection = (imageEntites) => {
imageEntites.forEach((image) => {
if (image.isIntersecting) {
observer.unobserve(image.target);
image.target.src = image.target.dataset.src;
image.target.onload = () =>
image.target.classList.add('loaded');
}
});
};
let observer = new IntersectionObserver(onIntersection, settings);
images.forEach((image) => observer.observe(image));
})();
你可以试着这样写:
let observer = new IntersectionObserver((imageEntites) => {
imageEntites.forEach((image) => {
if (image.isIntersecting) {
observer.unobserve(image.target);
image.target.src = image.target.dataset.src;
image.target.onload = () =>
image.target.classList.add('loaded');
}
});
};, settings);
谢谢有没有可能改变加载器图像?我不知道你的加载器图像是什么。顺便说一句,您也可以直接在图像上使用
load=“lazy”
来实现图像的延迟加载。是的,但我也需要对Safari的支持,这在那里还不受支持。然后您需要您的解决方案,这是正确的。