(不知道如果我錯過了一個已經回答了類似的問題...)AJAX/PHP - 回調之後完成加載數據
上的一個按鈕的點擊,我通過PHP/MySQL的加載從數據庫中各種圖像和附加它到身體(實際的圖像當然不存儲在數據庫中,圖像的正確選擇基於張貼的變量)。
我的目標是在所有圖像數據完全加載並顯示後,按下按鈕並隱藏指示器後顯示加載指示器。這可能是一個容易解決的回調問題,但我剛剛開始使用AJAX。 :)
以下是我目前設法提供的代碼。我猜load()函數在這裏不是真的嗎?
感謝您的幫助!
$("#somebutton").click(function(){
alert("fetching…");
$.post('loadmore.php', {
somevariable: somevariable
},
function(data){
$("body").append(data);
$(window).load(function(){
alert("finished loading…");
});
});
});
嘿,歡呼的隊友!我設法加載數據並顯示各種回調。必須將「數據」添加到函數 - 函數(數據) - 並在錯誤函數之後刪除分號。我猜這個回調會被觸發,因爲它應該是 - 只要從PHP文件接收到生成的數據(一些html標籤[img]等)。但是,這也意味着,在圖像完全呈現在頁面上之前,回調成功函數被觸發 - 當收到標籤時它會被觸發。此評論也適用於答案#2。 :) – Tobias
我已經更新了我的回答與您的意見。是的,「成功」不會意識到您的圖片加載時間。也許使用'setTimeout()'來延遲刪除加載指示符?或者使用其他代碼來檢測圖像的加載。 –
setTimeout()可以工作我猜,然而每次加載的圖像數量都不一樣。也許我可以將超時時間鏈接到圖像數量。你可能有什麼想法還有什麼可以檢測圖像的完成加載? 是無用的裝載機是一種痛苦。 :) – Tobias