JavaScript时钟问题
JavaScript Clock Issue
我正在尝试创建一个显示两个国家时间的时钟。
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script>
function disptime() {
now = new Date()
hours = now.getHours();
hours = hours < 10 ? "0" + hours:hours;
minutes = now.getMinutes();
minutes = minutes < 10 ? "0" + minutes:minutes;
seconds = now.getSeconds();
seconds = seconds < 10 ? "0" + seconds:seconds;
milli = now.getTime();
millib = milli + (6*60*60*1000);
bhutan = new Date();
bhutan = setTime(millib);
bhutanHours = bhutan.getHours();
bhutanHours = bhutanHours < 10 ? "0" + bhutanHours:bhutanHours;
document.getElementById("bhutanClock").innerHTML=bhutanHours+ " : " + minutes + " : " + seconds;
document.getElementById("UKClock").innerHTML=hours+ " : " + minutes + " : " + seconds;
setTimeout("disptime()",1000);
}
</script>
</head>
<body onload="disptime()">
<p id="bhutanClock"></p>
<p id="UKClock"></p>
</body>
</html>
为什么当我加载此页面时,浏览器中看不到任何内容?
第一个错误:您需要在Date()
对象上应用setTime
。
bhutan = bhutan.setTime(millib);
并更改此部分,因为某些原因,它显示为整数中的毫秒:
bhutan = new Date();
bhutan = new Date(bhutan.setTime(millib));
工作代码段
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script>
function disptime() {
now = new Date()
hours = now.getHours();
hours = hours < 10 ? "0" + hours : hours;
minutes = now.getMinutes();
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = now.getSeconds();
seconds = seconds < 10 ? "0" + seconds : seconds;
milli = now.getTime();
millib = milli + (6 * 60 * 60 * 1000);
bhutan = new Date();
bhutan = new Date(bhutan.setTime(millib));
bhutanHours = bhutan.getHours();
bhutanHours = bhutanHours < 10 ? "0" + bhutanHours : bhutanHours;
document.getElementById("bhutanClock").innerHTML = bhutanHours + " : " + minutes + " : " + seconds;
document.getElementById("UKClock").innerHTML = hours + " : " + minutes + " : " + seconds;
setTimeout("disptime()", 1000);
}
</script>
</head>
<body onload="disptime()">
<p id="bhutanClock">
</p>
<p id="UKClock">
</p>
</body>
</html>
现在运行良好:http://output.jsbin.com/bemuyawivu
问题出在bhutan = setTime(millib);
行
函数setTime
未在全局作用域上定义。我相信您正在寻找bhutan.setTime(millib)
。
此外,setTimeout应替换为setTimeout(disptime, 1000);
。
工作小提琴。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript时钟问题
- JavaScript时钟运行计时器函数时出现问题
- JavaScript时钟问题
- 基于JavaScript的倒计时时钟问题
- JavaScript编程模拟时钟时的问题