Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取html内容中图像的加载事件?_Javascript_Jquery_Image_Loading - Fatal编程技术网

Javascript 如何获取html内容中图像的加载事件?

Javascript 如何获取html内容中图像的加载事件?,javascript,jquery,image,loading,Javascript,Jquery,Image,Loading,我有不同的html内容,每个都有一些图像。如果html中有任何图像,则当我在lightbox div中显示html内容时,将加载这些图像 我的问题是,当div中的所有图像都已为任何html内容加载时,我希望执行一些操作。如何在Javascript/JQuery中做到这一点?您可以记录已加载的图像数量,然后在加载完所有图像后运行布局代码。大概是这样的: var $div = $(...); // this should select the div containing the images in

我有不同的html内容,每个都有一些图像。如果html中有任何图像,则当我在lightbox div中显示html内容时,将加载这些图像


我的问题是,当div中的所有图像都已为任何html内容加载时,我希望执行一些操作。如何在Javascript/JQuery中做到这一点?

您可以记录已加载的图像数量,然后在加载完所有图像后运行布局代码。大概是这样的:

var $div = $(...); // this should select the div containing the images in question
var $images = $div.find('img');
var count = 0;
$images.each(function() {
    $(this).load(function() {
         if (++count == $images.size()) {
             // your layout code goes here
         }
    }
}

这听起来像是在用户操作中加载图像,而不是在页面其余部分加载时加载,对吗?是的,图像在用户操作中加载所以从逻辑上讲,您如何知道所有图像何时加载?当我显示html内容时,内容中的图像开始加载。实际上,我想在加载所有图像后计算区域的高度。目前,我计算了面积,但仍在加载图像,因此无法获得正确的结果高度。请显示当前显示HTML内容并计算面积的代码,理想情况下是一个。您认为此时是否有可能对某些图像启动了onload?我相信你必须在相关图像被插入DOM之前运行这段代码。是的,我不确定问题是什么。再读一遍,我想它是在询问如何在lightbox出现并且图像大小调整后运行一些代码。可能需要修改lightbox.js才能做到这一点。