JavaScript 时钟无法正确显示
JavaScript Clock Not displaying Correctly
我遇到了一个问题,我有一个数字标牌,它接受嵌入式 HTML。我为它创建了一个小部件来显示时钟,我尝试下载一个,但由于某种原因它们从未工作过,所以我自己做了。我遇到的问题是时钟没有显示正确的时间。我得到了它,所以数字显示正确,但我现在看到的问题是它会播放 AM 而不是 PM。我将不胜感激任何帮助,不确定逻辑是否正确或我是否使用了错误的条件语句。任何帮助都会很棒,谢谢!
<script type="text/javascript">
function updateTime() {
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
var p;
if (minutes < 10){
minutes = "0" + minutes;
}
if (seconds < 10){
seconds = "0" + seconds;
}
if (hours >= 12){
p = "PM"; //could not get this in it's own if statement w/o breaking it
hours = (hours - 12);
}
if (hours == 0) {
hours = (hours + 12);
}else {
p = "AM";
}
var v = hours + ":" + minutes + ":" + seconds + " " + p;
setTimeout("updateTime()", 1000);
document.getElementById('time').innerHTML= v;
}
updateTime();
</script>
<style type="text/css">
#time {
font-size: 5em;
}
</style>
<div><span id="time"></span></div>
将
IFs 更改为:
if (hours >= 12) {
p = "PM";
hours = (hours>12) ? (hours - 12) : 12;
}
else
{
if (hours == 0)
hours = 12;
p = "AM";
}
你的代码几乎是对的,你只犯了一个小错误。 当你检查hours
是否大于12
时,p
PM
否则p
应该AM
。您可以通过在函数开始时将p
设置为AM
来解决此问题,即在检查后立即移动已有else
。
这把小提琴将演示一个工作示例:http://jsfiddle.net/s2R9y/
if (hours >= 12) {
p = "PM";
hours = (hours - 12);
} else {
p = "AM";
}
setTimeOut
函数也已修复,因此它实际上有效:
setTimeout(updateTime, 1000);
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何使时钟的显示与实时同步
- 如何设置此javascript以正确显示花费的总时间,显示超出正常时钟的分钟数
- Java 脚本倒计时时钟不会显示
- 在 aspx 页上显示实时时钟(使用服务器时间)
- JavaScript 时钟无法正确显示
- 用 PHP 显示时钟
- 显示多时钟
- 带有java脚本的实时时钟,显示实际的秒分和小时
- Javascript 世界时钟仅显示在表中
- 在JSP屏幕上显示动态UTC时钟时间
- 我的javascript时钟赢了't显示时间
- 扩展时钟组件的角度指令以单独显示日期时间元素
- PHP,Javascript实时时钟:如何正确显示数据库上次更新的时间
- 如何在母版页上显示动态时钟
- Javascript时钟没有显示
- JavaScript时钟获胜'无法正确显示
- 如何制作一个显示英国时间的时钟,但整个应用程序都是印度时间
- 如何使用dojo或dijit显示时间/时钟
- 如何计算时间和显示在H-M与12小时时钟,基于距离和速度使用javascript