Javascript 页面加载后的JQuery时钟/计时器(即使用户更改其计算机上的时间)
我修改了来自的代码,因此即使用户更改了计算机上的时间,也可以使其正常工作Javascript 页面加载后的JQuery时钟/计时器(即使用户更改其计算机上的时间),javascript,jquery,math,time,timer,Javascript,Jquery,Math,Time,Timer,我修改了来自的代码,因此即使用户更改了计算机上的时间,也可以使其正常工作 的时间仍然显示页面加载后的实时时间(即使用户更改了计算机上的时间) 更改时间后,将显示警报(请参见下面的代码)。 问题是:一旦时间发生变化,警报每秒出现的次数将是无限的(但预期只有一次)。为什么会这样 $(document).ready(function () { var start = new Date; var end = (new Date - start) / 1000; setInterv
的时间仍然显示页面加载后的实时时间(即使用户更改了计算机上的时间)
更改时间后,将显示警报(请参见下面的代码)。
问题是:一旦时间发生变化,警报每秒出现的次数将是无限的(但预期只有一次)。为什么会这样
$(document).ready(function () {
var start = new Date;
var end = (new Date - start) / 1000;
setInterval(function () {
if (Math.abs(end - (new Date - start) / 1000 )>1) {
start = new Date - end * 1000;
alert(Math.abs(end - (new Date - start) / 1000 ));
}
end = (new Date - start) / 1000;
$('#timer').text(end + " Seconds");
}, 100);
});
这实际上相当简单——脚本执行会暂停,直到messagebox关闭。当您关闭它时,计时器已经延迟,条件再次为真。您可以通过复制
警报[…]
行来测试它:如果您足够快地关闭第一条消息,第二条消息将显示低于1的内容
只要用一些基于HTML的浮动窗口替换
警报
,一切都会好起来。这一切的目的是什么?这一切的目的是显示页面加载后的实时信息。从未处理过需要处理用户更改日期的情况。。。没有道理。。。但是只要使用clearInterval
或其他什么。但是对我来说仍然没有太多意义。你能回答我的问题吗(如果可以的话)为什么自本地时间更改以来警报出现了无限次?其余的都很好。非常感谢。