テーブルに複数の実行時間を表示しようとしています。テーブルには3つの列(nr、name、time)があります。時刻は「hh:mm:ss.f」の形式で表示されます。つまり、100ミリ秒ごとに時刻を更新します。
function updateTimes() {
setTimeout(updateTimes, 100);
// requestAnimationFrame(updateTimes);
$("#livedata tbody tr").each(function (index, value) {
var live = $(value).data("base");
$("#" + live.Entry.Id + "_time").text(formatTimeF(moment().subtract(live.Data)));
});
}
//Create Table Row
function UpdateLive(live) {
var e = $("#" + live.Entry.Id);
if (e.length == 0) {
e = $("<tr id='" + live.Entry.Id + "' class='live'/>");
$("<td id='" + live.Entry.Id + "_name" + "'></td>").appendTo(e);
$("<td id='" + live.Entry.Id + "_nr" + "'></td>").appendTo(e);
$("<td id='" + live.Entry.Id + "_time" + "'></td>").appendTo(e);
e.appendTo($("#livedata"));
}
e.data("base", live);
}
コードは機能し、時間は「通常の」PCで期待どおりに表示されます。私の問題は、モバイルデバイス(携帯電話)です。これらのデバイスのほとんどでは、更新Intervall(100ms)が速すぎるため、時間が「ジャンプ」し始めます。既存のテーブル要素の時間を更新するだけの場合、「ジャンプ」はそれほど難しくありませんが、テーブル行を追加すると、行が追加されるまで最悪になります。テーブルの操作にはJQueryを使用しています。
誰かが私のパフォーマンスを改善する方法を知っていますか?
よろしくマヌー