所以我整天都在研究这个时钟,并最终在我的沙箱页面上完美地工作。
沙盒页面上几乎没有任何东西,时钟运行得很漂亮,但是当我在index.php上为我的时钟添加相同的代码时,它会在时间和“NaN:NaN:”之间出现波动和闪烁:楠:是”
。所以我想知道的是,如果我在页面上的内容越多,是否会导致它“闪烁”?
<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速率到100ms)时,它看起来更好,但最终会出错并保持在有缺陷的状态。
我的最终目标是拥有时钟显示服务器时间。我认为使用ajax ping服务器的时间会让事情陷入困境,所以我认为从PHP时间戳启动的计时器可以节省带宽。如果有更有效的方法可以解决这个问题,我想知道。
答案 0 :(得分:1)
没有php不受JavaScript的影响
此代码可能会干扰您编写的其他javascript代码,如果您没有定义相同的变量两次