我有一個按字母順序排序的數據表,它是一個相當大的表。所以排序需要2-3秒。問題是,該腳本正在排序頁面鎖定的數據。所以我想在這段時間內顯示一個加載動畫(或只是加載文本)。現在,我的加載gif僅在腳本完成後出現 - 儘管我使用了setInterval或setTimeout。必須有一些我錯過了。 如何在腳本運行之前顯示加載文本或圖像?代碼如下:在JavaScript排序期間加載動畫
$("#rotateArrowA").click(function() {
$(function() {
$("#loadingTwo").css("display","block");
$("#rotateArrowA").css("display","none");
$("#rotateArrowDownA").css("display","block");
setInterval(timeOut(), 1000);
});
function timeOut() {
var rows = $("#tableTwo tbody tr").get();
rows.sort(function(a, b) {
var A = $(a).children("td").eq(1).text().toUpperCase();
var B = $(b).children("td").eq(1).text().toUpperCase();
if(A > B) {
return -1;
}
if(A < B) {
return 1;
}
return 0;
});
$.each(rows, function(index, row) {
$("#tableTwo").children("tbody").replaceWith(rows);
$("#tableTwo tbody tr:odd").css("background-color", "#E6E6E6");
$("#tableTwo tbody tr:even").css("background-color", "white");
});
}
});
而且,我不能使用任何HTML 5個功能,對多線程...這有舊版客戶端的工作(IE 7-8)。
非常接近...它的工作原理。現在我有一個新問題 - 數據排序後頁面掛起。 – mdance 2012-03-28 22:40:59
@mdance:你把'setInterval'改成'setTimeout'了嗎? – ruakh 2012-03-28 22:41:37
只是注意到了,做到了。現在工作!萬分感謝! – mdance 2012-03-28 22:42:33