如何知道文档中的所有图像何时加载到Javascript中?
我正在使用Ruby On Rails的ajax函数重新加载如何知道文档中的所有图像何时加载到Javascript中?,javascript,ruby-on-rails,image,load,Javascript,Ruby On Rails,Image,Load,我正在使用Ruby On Rails的ajax函数重新加载内容,我正在将部分重新加载到div中,我想知道所有图像何时加载,因为现在我有以下几点: $(document).ready(function(){ $("img").load(function(){ alert("ok?"); }); }); 但有了这个,我一直在为这部分的每一张图片获取alet 我不知道如果有一个像$(allimgs)之类的选择器,当所有图像都被加载时,我需要做什么才能捕获 非常感谢。如
内容,我正在将部分
重新加载到div
中,我想知道所有图像何时加载,因为现在我有以下几点:
$(document).ready(function(){
$("img").load(function(){
alert("ok?");
});
});
但有了这个,我一直在为这部分的每一张图片获取alet
我不知道如果有一个像$(allimgs)
之类的选择器,当所有图像都被加载时,我需要做什么才能捕获
非常感谢。如果您希望确保加载的所有图像都没有错误,您必须自己滚动。如果没有,您可以使用.load,如图所示,在浏览器加载完资源后将触发该命令 要自己滚动,请执行以下操作:
$(document).ready(function(){
var imgs = $("img"), cnt = imgs.length;
imgs
.load(function(){
if(!--cnt) {
/* all images loaded */
}
})
.error(function() { /* whoops an image failed to load */});
});
如果您希望确保加载的所有图像没有错误,您必须自己滚动。如果没有,您可以使用.load,如图所示,在浏览器加载完资源后将触发该命令 要自己滚动,请执行以下操作:
$(document).ready(function(){
var imgs = $("img"), cnt = imgs.length;
imgs
.load(function(){
if(!--cnt) {
/* all images loaded */
}
})
.error(function() { /* whoops an image failed to load */});
});
您可能需要使用图像加载插件,以确保您的代码处理缓存的图像等 然后是你的代码
var total_number_of_images = $("img").length;
var loaded_images = 0;
$("img").load(function(){
loaded_images++;
if loaded_images = total_number_of_images {
// do something ...
} });
您可能需要使用图像加载插件,以确保您的代码处理缓存的图像等 然后是你的代码
var total_number_of_images = $("img").length;
var loaded_images = 0;
$("img").load(function(){
loaded_images++;
if loaded_images = total_number_of_images {
// do something ...
} });
将执行以下操作:
首先,我们计算页面中有多少img,每个img加载将使计数减少1,当它为0时,意味着所有图像都已加载
$(document).ready(function(){
var allimgs = $("img");
var count = allimgs.length;
allimgs.load(function(){
if(--count == 0) {
alert("all images are loaded");
}
})
});
**已编辑** 如果浏览器正在缓存图像,请尝试以下操作:
$(document).ready(function(){
var allimgs = $("img");
var count = allimgs.length;
$("img").one('load', function() {
count--;
if(count == 0) {
alert("all images are loaded");
}
}).each(function() {
if(this.complete) $(this).load();
});
});
将执行以下操作:
首先,我们计算页面中有多少img,每个img加载将使计数减少1,当它为0时,意味着所有图像都已加载
$(document).ready(function(){
var allimgs = $("img");
var count = allimgs.length;
allimgs.load(function(){
if(--count == 0) {
alert("all images are loaded");
}
})
});
**已编辑** 如果浏览器正在缓存图像,请尝试以下操作:
$(document).ready(function(){
var allimgs = $("img");
var count = allimgs.length;
$("img").one('load', function() {
count--;
if(count == 0) {
alert("all images are loaded");
}
}).each(function() {
if(this.complete) $(this).load();
});
});
你到底在用这段代码做什么,你是通过Ajax加载它的吗?问题是,它是否太频繁触发?附加到imgYeas的最后一个子项上完成/加载我通过Ajax加载此代码您到底在使用此代码做什么,您是通过Ajax加载的吗?有什么问题吗,它是否太频繁了?连接到imgYeas的最后一个子项上完成/加载我正在通过Ajax加载此文件此文件正在工作,但缓存的图像有问题,他们没有触发事件答案我给了你我的投票,但另一个答案看起来更像我的最终代码,但这一个和另一个答案一样工作,这一个工作正常,但我对缓存的图像有问题,他们没有触发事件答案我给了你我的投票,但另一个答案似乎更像我的最终代码,但这一个和另一个答案一样正确。这一个看起来更像我的最终代码,但其他所有答案都是有效代码!这一个看起来更像我的最终代码,但每个其他答案都是工作代码!我试图编辑您的代码,它缺少条件括号和另一个与比较相等的符号,但我现在没有编辑权限我试图编辑您的代码,它缺少条件括号和另一个与比较相等的符号,但我现在没有编辑权限