javascript - 如何等待特定 jQuery 选择中的所有图像加载?
问题描述
当我使用以下代码时,它会为选择中的每个项目运行一次:
$('.someElement img').load( function() {
// Do something
});
所以基本上,如果 .someElement 包含 5 个图像,它会触发 5 个不同的时间。如何运行一个事件,使其仅在加载选择中的所有图像后触发一次?
具体来说,我不想等待页面上的所有图像。这将专门用于在页面呈现很久之后添加到 DOM 的内容,并且该内容包含 IMG 标记,我想等待这些特定图像加载。选择器将针对该动态内容。
解决方案
let loadCount = 0;
const images = $('.someElement img');
images.load( function() {
loadCount++;
if (loadCount >= images.length) {
// Do something
}
});
推荐阅读
- javascript - 为什么我网站的谷歌地图部分只有在用户删除他/她的 cookie 时才会更新?
- angular - 使用 Angular 7 或更高版本验证多个开始和日期日期字段
- javascript - 图像未在reactjs中加载
- java - 微服务、共享实体或其他地狱之间的通信
- ruby-on-rails - Rails 5 - LoadError:加载“mysql2”Active Record 适配器时出错。mysql2 不是捆绑包的一部分
- acumatica - 站点地图节点问题 Acumatica ERP
- python - Jupyter 中不同的显示结果取决于内核(新用户问题)
- json - 执行 kubectl patch 命令时如何修复 json unmarshal 错误?
- php - 如何解决laravel中json数据的插入问题
- java - 覆盖列表的 add 方法以检查属性是否等于另一个实例属性