我有一個頁面循環了多個唯一的id,並使用ajax將信息加載到與數據庫表中的行相對應的div中。因爲有相當多的div需要創建,每個div都包含大量的信息,這需要相當長的一段時間。我想要做的是在每個div附加到dom後動畫/顯示每個div,允許循環在創建時繼續附加/顯示更多div。使用jquery動畫/顯示div而ajax加載更多結果
我的代碼看起來是這樣的:
// loop section unique IDs
$.each(uniqueIDs, function(key, uniqueID)
{
// call AJAX synchronously
// append resulting information to page
// show newly appended div
$("#" + uniqueID).slideDown();
});
我遇到的問題是,動畫是很不一致。有時第一個div是動畫的,而所有後續的div只是沒有動畫就顯示出來。有時候所有的div都只顯示沒有動畫。我敢肯定,必須有這樣做更嚴格的方式...
編輯我一直在呼籲AJAX同步保持的div按照正確的順序(否則的div追加到DOM順序他們完成)。我很樂意找到一個解決方案,它使用異步的ajax調用來保存原始順序。
Ajax是異步的,所以你需要在ajax函數的回調中做滑動的東西,而且你可能不應該同步地使用ajax。 – adeneo
爲用戶做很多同步ajax調用的速度比用戶異步執行要慢得多。你應該做異步並將slideDown代碼放入ajax調用的成功部分。 – Timm
如果我異步運行ajax,div是不按順序創建的(即按照異步ajax調用的完成順序)。有沒有辦法避免這種情況,然後使用回調? – adekom