【发布时间】:2011-06-11 03:05:30
【问题描述】:
嘿, 我有一个 ajax 调用的问题。我正在尝试显示一个加载屏幕,它基本上是一个 div,它在发出 10 个 ajax 请求时显示和隐藏。它似乎在 Firefox 3.6 中工作正常,但 div 没有出现在 chrome 10 和 IE8 中。问题是 div 出现了,但它只显示了几毫秒,然后才被隐藏,尽管它在 ajax 调用之前被打开。这是函数:
function addAllToPlaylist() {
var title;
var i = 1;
var percentage = 0;
var total = $('.tdtrackname').size();
$('#loadingscreen').show();
$('.tdtrackname').each(function() {
$.ajax({
async: false,
url: 'ajax/addsongtoplaylist.php?query=' + $(this).html(),
success: function(data) {
$('#divajax').html(data);
percentage = Math.round((i / total) * 100);
$('#loadingmsg').html('<h3>Adding songs...please wait<br>' + i + ' / ' + total + ' (' + percentage + '%)</h3>');
}
});
i++;
});
$('#loadingscreen').hide();
}
我希望你能帮我解决这个问题,我不知道为什么加载屏幕打开这么晚.. 提前致谢
【问题讨论】:
-
不是您的问题的答案,但将您的所有请求合并为一个大请求不是更好吗?我曾经有过类似的请求,并设法将 7s 加载变为 2s 加载。它也可以解决您的同步/异步问题。
标签: jquery ajax internet-explorer google-chrome loading