js中判断ing加载完成方案
文章类型:Javascript
发布者:hp
发布时间:2023-05-22
在实际开发过程中,会遇到需要等待图片加载完成后执行操作,整理一下方案
1:通过给元素绑定load事件和error事件,进行监听,成功加载触发load,加载失败触发error
const img = document.createElement('img');
img.src = 'image.jpg';
img.addEventListener('load', () => {
console.log('Image loaded successfully.');
});
img.addEventListener('error', () => {
console.log('Error occurred while loading the image.');
});
1:将加载图片的过程封装成一个Promise对象,通过Promise的resolve和reject来判断加载是否成功
function loadImage(src) {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => {
resolve('Image loaded successfully.');
};
img.onerror = () => {
reject(new Error('Error occurred while loading the image.'));
};
img.src = src;
});
}
loadImage('image.jpg')
.then(message => {
console.log(message);
})
.catch(error => {
console.error(error);
});
1:每隔一段时间进行一次检查图片complete属性。complete属性为true表示加载完成,为false表示加载未完成
const img = document.createElement('img');
img.src = 'image.jpg';
const checkImageLoaded = setInterval(() => {
if (img.complete) {
console.log('Image loaded successfully.');
clearInterval(checkImageLoaded);
}
}, 100);