1

divの前に追加する画像があり、divが新しい高さにアニメーション化されます。問題は、画像が読み込まれるまでページが待機していないことです。高さとアニメーション、そしてそれをどのように行うのかわかりません。

今設定しているので、テキストの読み込みが完了するまでページは待機しますが、画像部分も含める方法がわかりません。これは具体的に
は$('#images')。empty();です。

$("<img>", { src: 'http://www.klossal.com/' + id + ".png" }).prependTo("#images");

そしてここにすべてがあります:

$(".thumb_container_img").click(function() {

a1=0; //Reset the Loading Variables
a2=0;
a3=0;
a4=0;
IMG=1;

var id = $(this).attr('id');


$('#images').empty();



$("<img>", { src: 'http://www.klossal.com/' + id + ".png" }).prependTo("#images");


$("#info_header").load(id +"_header.txt", function() {

console.log('Loaded'); //Testing Purposes Only
a1=1; // Loaded
animate_section(); // Attempt Animation         

});

$("#content_1").load(id +"_1.txt", function() {

console.log('Loaded'); //Testing Purposes Only
a2=1; // Loaded
animate_section(); // Attempt Animation         

});

$("#content_2").load(id +"_2.txt", function() {

console.log('Loaded'); //Testing Purposes Only
a3=1; // Loaded
animate_section(); // Attempt Animation         

});

$("#content_3").load(id +"_3.txt", function() {

console.log('Loaded'); //Testing Purposes Only
a4=1; // Loaded
animate_section(); // Attempt Animation         

});



});



function animate_section() {

if((a1===1) && (a2===1) && (a3===1) && (a4===1) && (IMG===1)){ //Animate if all thre divs are loaded

$("#top_section").animate({
    height: $("#load_container").outerHeight(true) + 30
}, 300);
$("#grid").animate({
    marginTop: $("#load_container").outerHeight(true) + 300,
    paddingBottom: 300
}, 300);   
}                
}
4

1 に答える 1

2

画像が読み込まれたかどうかを確認するには、jQueryのload()関数を使用する必要があります。その後、追加したいものすべてを追加できます

$('img').attr('src', 'image.jpg').load(function() { $(this).prependTo(...) })
于 2012-11-23T18:45:53.410 に答える