我有一个循环遍历多个唯一 ID 的页面,并使用 ajax 将信息加载到与数据库表中的行相对应的 div 中。因为需要创建的 div 比较多,每个 div 都包含相当多的信息,所以这需要相当长的时间。我想做的是将每个 div 附加到 dom 后对其进行动画/显示,从而允许循环在创建时继续附加/显示更多 div。
我的代码看起来像这样:
// 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 调用的解决方案,它保留了原始顺序。