Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 jQuery,在获得一幅图像的宽度后,只继续脚本一次_Javascript_Jquery_Html_Image - Fatal编程技术网

Javascript jQuery,在获得一幅图像的宽度后,只继续脚本一次

Javascript jQuery,在获得一幅图像的宽度后,只继续脚本一次,javascript,jquery,html,image,Javascript,Jquery,Html,Image,我需要知道一些图像的宽度,以便在div的表格中显示它。这些图像有一个类名。我是这样做的: var image_width = $('.image_product').width(); 然后,我根据结果计算表中的其他列。在Firefox中,它运行良好。但在Chrome中,在加载图像之前,计算脚本已经完成。var image_width返回0像素 我尝试在通过以下方式加载图像后继续脚本: $('.image_product').load(function() { calc

我需要知道一些图像的宽度,以便在div的表格中显示它。这些图像有一个类名。我是这样做的:

var image_width = $('.image_product').width(); 
然后,我根据结果计算表中的其他列。在Firefox中,它运行良好。但在Chrome中,在加载图像之前,计算脚本已经完成。var image_width返回0像素

我尝试在通过以下方式加载图像后继续脚本:

$('.image_product').load(function() 
    {   
    calculate_column_width();
    });
这非常有效,但我发现当有两个图像使用该类名时,脚本将运行两次,如果有三个图像,脚本将运行三次,等等


我找不到一个简单的解决方案,让脚本只继续一次。谁有主意?

您可以给他们不同的类名,或者尝试以下脚本:

$('.image_product').first().load(function() {   
    calculate_column_width();
});
然后它将只获取具有该类名的第一个元素。。但我不认为这是解决你问题的有效方法。

你试过了吗

使用该插件,将生成以下代码:

$('.image_product').imagesLoaded(function() {   
  calculate_column_width();
});

。。。只有在匹配容器中的所有图像就绪后才会触发回调。

那么,您是希望在加载该类的任何图像后立即继续,还是等待加载该类的所有图像?