Javascript秒表性能
我试图在一个表中显示多个运行时间。 该表有3列(nr、name、time)。时间以“hh:mm:ss.f”格式显示,这意味着我每100ms更新一次时间Javascript秒表性能,javascript,jquery,performance,stopwatch,Javascript,Jquery,Performance,Stopwatch,我试图在一个表中显示多个运行时间。 该表有3列(nr、name、time)。时间以“hh:mm:ss.f”格式显示,这意味着我每100ms更新一次时间 function updateTimes() { setTimeout(updateTimes, 100); // requestAnimationFrame(updateTimes); $("#livedata tbody tr").each(function (index, value) { var li
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);
}
函数更新时间(){
setTimeout(updateTimes,100);
//requestAnimationFrame(更新时间);
$(“#livedata tbody tr”)。每个(函数(索引、值){
var live=$(值)。数据(“基础”);
$(“#”+live.Entry.Id+“_-time”).text(formatTimeF(矩().subtract(live.Data));
});
}
//创建表行
函数UpdateLive(实时){
var e=$(“#”+live.Entry.Id);
如果(e.length==0){
e=$(“”);
$(“”)。附录(e);
$(“”)。附录(e);
$(“”)。附录(e);
e、 附件($(“#livedata”);
}
e、 数据(“数据库”,实时);
}
代码正常,时间在“普通”PC上按预期显示,我的问题是移动设备(手机)。对于大多数设备来说,更新间隔(100ms)似乎太快,因此时间开始“跳跃”。如果我只更新现有表元素的时间,“跳跃”并没有那么困难,但是如果我添加表行,在添加行之前,它会变得最糟糕。
我使用JQuery来操作表
有人知道我如何提高我的表现吗
问候
曼努一些想法:
$
选择器访问元素,肯定会有所帮助。例如,使用$(live.childNodes[2])
而不是$(“#”+live.Entry.Id+“_time”)
,或者存储对单个单元格的引用。然后可以删除单元格的所有id
属性$(“”)
增加了多少开销。也许document.createElement('td')
的速度要快得多