如何获得第一次从服务器通过php和JavaScript
How to get first time from server by php and put in JavaScript
我如何获得第一次从服务器通过php?
我已经测试了这段代码,但它不工作。它得到了时间,但它不算数?有什么问题吗?<script type="text/javascript">
function GetClock(){
d = new Date(<?php echo date("y, n, j, G, i, s");?>);
nhour = d.getHours();
nmin = d.getMinutes();
nsec = d.getSeconds();
if(nhour == 0) {
ap = " AM";nhour = 12;
} else if(nhour <= 11) {
ap = " AM";
} else if(nhour == 12) {
ap = " PM";
} else if(nhour >= 13) {
ap = " PM";nhour -= 12;
}
if(nmin <= 9) {
nmin = "0" +nmin;
} if(nsec <= 9) {
nsec = "0" +nsec;
}
document.getElementById('clockbox').innerHTML=""+nhour+":"+nmin+":"+nsec+ap+"";
setTimeout("GetClock()", 1000);
}
window.onload=GetClock;
</script>
说明
问题是为什么你用PHP写一个日期时间到Date
对象在JS?
PHP只会写出页面呈现时的时间,它将永远不会再改变。
然后你基于Javascript setTimeout
每1秒设置你的计数器,期望时钟以秒为单位增加,但它总是基于相同的原始时间(页面渲染时间),并且总是增加1秒。
。页面加载时间为2013年6月3日12:00:00。你的代码看起来像这样:
d = new Date(13, 6, 3, 12, 0, 0);
在页面加载时(如果您查看源代码)
1秒后,setTimeout
触发并根据date对象中的开始时间呈现12:0:01的时钟。
但是你的开始时间永远不会改变,所以每过一秒触发setTimeout
将基于12:00:00
而不是当前时间
TLDR;并回答
删除PHP!
d = new Date();
或者,如果您绝对有使用服务器时间。您需要像前面那样初始化date对象,然后存储一个已经过了多少秒的计数,并计算
相关文章:
- PHP Javascript显示/隐藏按钮不工作
- php javascript代码从javascript调用php函数
- 如何在php/javascript中制作定时器和警报
- 带有数据输入的PHP/JavaScript web交互式图谱
- PHP - Javascript integration?
- 从复选框 ajax php javascript 中检索值
- 验证此图像验证码.Jquery PHP & javascript.
- Facebook PHP+JavaScript-在页面加载之前导航时出现异常
- PHP/JavaScript-检测当前打开页面的用户
- Php-Javascript-我如何知道哪些页面是彩色的,哪些是黑白的
- PHP+Javascript解析这两个响应
- 创建php/javascript倒计时计时器时出现问题
- 转换“;2012年7月15日星期日00:00:00 GMT+0700(东南亚标准时间)“;到php/javascript
- 与php/javascript函数调用混淆
- 从下拉框中获取选定的值,并使用来填充文本框php javascript
- 如何使用php+javascript更改HTML表的内容
- Php javascript不显示数据
- PHP/JavaScript MP3播放器,用于采样和销售歌曲
- Integration PHP + Javascript
- Adsense Onclick(php, javascript)