Я хочу, чтобы создать часы, которые его время инициализации сервера, а затем продолжается с клиентом с этим кодами:Clock инициализируется сервер затем запустить клиентом поздно
//initializing by server(ASP.NET):
<% var now=System.DateTime.Now; %>
var h=<%=now.Hour %>;
var m=<%=now.Minute %>;
var s=<%=now.Second %>;
//then client:
function startTime() {
s++;
if (s == 60) {
s = 0;
m++;
if (m == 60) {
m = 0;
h++;
if (h == 24)
h = 0;
}
}
m = checkTime(m);
s = checkTime(s);
h = checkTime(h);
document.getElementById('clock').innerHTML = h + ":" + m + ":" + s;
t = setTimeout(function() { startTime() }, 1000);
}
function checkTime(i) {
if (i < 10) {
if(i.toString().length<2)
i = "0" + i;
}
return i;
}
window.load = startTime();
но часы становятся около 5 секунд в конце каждые 10 минута.
Как я могу предотвратить эту задержку?
как использовать 'date' с начальными значениями? –
, если я использую 'Date', это будет время клиента. –
Нет, вы просто используете 'Date' для выполнения секундного времени, так как он может достоверно рассказать вам, сколько секунд прошло. – Halcyon