好吧,這聽起來像一個奇怪的問題,但我使用jQuery來做一個Ajax請求,所以我可以預加載一堆圖像,然後我想顯示所有的圖像,一旦一切都加載。有一個動畫加載器gif位於頁面上這是ajax請求實際上做了什麼嗎?
我有下面的代碼,它使得ajax請求和加載的圖像像它應該。我從來沒有看到動畫的gif,我不知道如果它只是加載速度如此之快,或者某些東西不能正常工作,並且,一旦ajax成功,它仍然看起來像圖像需要加載,它們不會彈出,它看起來像仍在加載。
這就是我使用的:
var load_gallery = function(){
var images = $.ajax({
type : "POST",
url: "/index.php/main/get_images",
success: function(html){
$("#gallery-images").html(html);
$("#image-loader-animation").addClass('hide');
$('#cat-selector-all').addClass('link-selected');
}
});
}
上面是否假設要等到ajax請求中的所有內容都加載並顯示在頁面上?如果沒有,有沒有一種方法可以讓這個Ajax請求等到所有東西完全加載,然後再顯示它並隱藏加載程序gif。
基本上是一個懶惰的加載程序。
感謝
編輯:我更新它使用.load,它似乎仍然有同樣的問題...不知道這是否是正確的:
var load_gallery = function(){
$("#gallery-images").load('/index.php/main/get_images', function() {
$("#gallery-images").show();
$("#image-loader-animation").addClass('hide');
$('#cat-selector-all').addClass('link-selected');
});
}
編輯:這是請求......可能是因爲我的「M使用佔位符圖像現在?
<div class="site gallery-webdev">
<div class="image">
<img src="http://placekitten.com/1000/700" />
</div>
<div class="description">
asdf
</div>
</div>
<div class="site gallery-webdev">
<div class="image">
<img src="http://flickholdr.com/1000/700" />
</div>
<div class="description">
asdf
</div>
</div>
<div class="site gallery-seo">
<div class="image">
<img src="http://lorempixum.com/1000/700/0" />
</div>
<div class="description">
asdf
</div>
</div>
<div class="site gallery-fd">
<div class="image">
<img src="http://placedog.com/1000/700" />
</div>
<div class="description">
asdf
</div>
</div>
<div class="site">
<div class="image">
<img src="http://placekitten.com/1000/700" />
</div>
<div class="description">
asdf
</div>
</div>
如果您發送AJAX請求的頁面是PHP,則可以確保使用PHP的['sleep'](http://php.net/manual/en/function .sleep.php)命令只是延遲響應。 – sdleihssirhc 2011-04-23 15:49:39