我有以下问题。我的index.html中有三张图片:
<div class = "someclass">
<img src = "1.jpg" title="jeeden"/>
<img src = "2.jpg" title="dwa"/>
<img src = "3.jpg" title="trzy"/>
</div>
我希望它们加载,并在加载时 - 在jquery中将它们的标题推送到我的数组,这里是代码:
var titletable = [];
$(document).ready(function() {
$("img").load(function(event){
titletable.push($(this).attr('atrybut1'));
});
$.each(titletable, function(i, v) {
$('.someclass').append("<li>" + i + ": " + v + "</li>");
});
当我将$.each
迭代移动到.load
函数时,它会显示数组元素,但是错误的方式是,每次加载图像时都会显示数组的状态。我想在加载所有三个图像时显示titletable
的内容。我怎么能这样做?
答案 0 :(得分:0)
你穿着.each外面的.load,负载通常会在以后发生
var titletable = [];
$(document).ready(function() {
var totalImages = $("img").length;
var loadedImages = 0;
$("img").load(function(event){
titletable .push($(this).attr('title'));
loadedImages++;
if (loadedImages == totalImages)
$.each(titletable, function(i, v) {
$('.someclass').append("<li>" + i + ": " + v + "</li>");
});
});
我保留当前加载的图像的数量,当加载所有图像时,我正在使用该数组。