アルファベット順にソートされているデータテーブルがあり、かなり大きなテーブルです。ソートには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");
});
}
});
また、私は、これはレガシークライアント(IE 7-8)のために働くことがある...マルチスレッドのために任意のHTML 5つの機能を使用することはできません。
非常に近いです...動作します。今私は新しい問題があります - データがソートされた後、ページがハングアップします。 – mdance
@mdance: 'setInterval'を' setTimeout'に変更しましたか? – ruakh
ちょうどそれに気づいて、やった。今すぐご利用ください!まことにありがとうございます! – mdance