javascript - 仅在已加载图像后执行图像分析
问题描述
我正在寻找一种为移动设备缩放网页图像的方法。我的做法是使用 JavaScript 存储每张图片的尺寸,如果用户的屏幕小于某个值,所有图片都会使用 JavaScript 调整大小。我的问题是以下函数未检测图像是否已加载,因此未加载图像的结果将为 0。我的问题是,如何实现检查,以便该函数仅在图像完全加载后才计算图像大小?我没有使用 jQuery。
function storeImageSizes() {
isizes = [];
imgs = document.getElementById('content').getElementsByTagName('img');
for (var i = 0; i < imgs.length; i++) {
isizes[i] = [
window.getComputedStyle(imgs[i]).getPropertyValue('width').replace('px', '') * 1,
window.getComputedStyle(imgs[i]).getPropertyValue('height').replace('px', '') * 1
];
}
}
解决方案
您可以使用以下解决方案在图像已加载后执行图像分析:
document.querySelector('#image').addEventListener('load', storeImageSizes);
推荐阅读
- c++ - 为什么我在遍历它时没有收到超出范围的数组错误?
- data-binding - 带有绑定 aria-hidden 的 Vue
- vba - vba - 将文本写入 sfile 路径不起作用错误
- python - 为列名添加条件前缀
- r - 更改线条大小 ggsurvplot
- lua - Lua 多自定义(例如,`between`)运算符
- django - django 模型参数中的条件
- ios - 错误 ITMS-90046:不支持键“com.apple.developer.icloud-container-environment”的值“开发”
- c - OpenMP 折叠并行循环并减少
- java - 设计包含生成的 ID 的 Java 类的最佳方法