某些时候,我们需要监听图片加载完成之后做事件处理,比如场景:图片文件太大的时候,从服务器获取加载很慢,会出现长时间图片窗口空白的情况下,那么我们需要给图片增加一个loading状态,提示用户图片正在加载,并且监听图片是否加载完成,当加载完成之后,关闭loading状态
const allImagesLoaded =()=> {
let swDom = document.getElementById(this.config.id + 'sw') // 容器
let imgDom = swDom.querySelectorAll('.img') // 获取所有图片标签
const P = Array.prototype.slice.call(imgDom).map((node) => {
return new Promise((resolve, reject) => {
const img = new Image()
img.src = node.getAttribute('data-src') //图片路径
img.onload = () => {
resolve(node)
}
})
})
Promise.all(P).then((res) => {
console.log('所有图片加载完成')
this.calculateSwiperHeight()
})
}