所以我一整天都在研究这个时钟,终于让它在我的沙箱页面上完美地工作。
由于沙箱页面上几乎没有任何内容,时钟运行得非常漂亮,但是当我将相同的代码添加到我的 index.php 上的时钟时,它会在时间和“NaN:NaN:”之间出现不稳定和闪烁。 NaN:am”。
所以我想知道页面上的内容越多,是否会导致页面“闪烁”?
<script language="javascript" type="text/javascript">
function clock(i){
var i =new Number(i);//Establish var type so math adds up
i=(i+1000);//Add a second to timestamp
setTimeout('clock("'+i+'")',1000)//Setup timer
var lastTick=new Date(i);//New timestamp applied to date function
var h=lastTick.getHours();
var m=lastTick.getMinutes();
var s=lastTick.getSeconds();
var diem="am";
//Some clean up to make it "clock-like"
if(m<10){m="0"+m;}
if(s<10){s="0"+s;}
if(h==0){h=12;}
if(h>12){h=h-12;diem="pm";}
//Setup string for clock and insert it to div
var clock=h+":"+m+":"+s+" "+diem;
$("#clock").text(clock);
}
</script>
<div id="clock"></div>
<script type="text/javascript">
clock('<?php echo (time()*1000)?>');//Convert PHP timestamp to Javascript
</script>
我正在跨多个平台获取此内容。当我增加重复率(将 setTimeout 率降低到 100 毫秒)时,它看起来更好,但最终会出错并保持在有缺陷的状态。
我的最终目标是拥有一个显示服务器时间的时钟。我认为使用 ajax 来 ping 到服务器的时间只会让事情陷入困境,所以我认为从 PHP 时间戳开始的计时器会节省带宽。如果有更有效的方法来解决这个问题,我想知道。
最佳答案
没有PHP不受JavaScript影响
此代码可能会干扰您编写的其他 JavaScript 代码,检查您是否没有两次定义相同的变量
关于javascript - 内容越多会减慢setTimeout吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20725106/