我正在创建一个JS时钟/日期。我以前有时间完美地工作然后我决定在我的时钟(日期)上添加更多。现在我无法弄清楚它为什么不起作用。如果有人能给我提示或想法如何解决它,我将非常感激。
function timedate()
{
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var dn="PM"
var d = currentTime.getDate(); <--
var day = (d < 10) ? '0' + d : d;
var m = currentTime.getMonth() + 1; <--
var month = (m < 10) ? '0' + m : m;
var yy = currentTime.getYear(); <--
var year = (yy < 1000) ? yy + 1900 : yy;
if (hours<12)
{
dn="AM"
}
if (hours>12)
{
hours=hours-12
}
if (hours==0)
{
hours=12
}
if (minutes<=9)
{
minutes="0"+minutes
}
var clocklocation = document.getElementById('timedate');
clocklocation.innerHTML = "" +hours+":"+minutes+dn+""+day + "/" + month + "/" + year;
setTimeout("timedate()", 1000);
}
timedate();
答案 0 :(得分:1)
<强> DEMO 强>
更改
setTimeout("timedate()", 1000);
到
setTimeout(timedate, 1000);
并删除&lt; -
确保它在onload上运行,或者在要在
中显示的标记之后运行或者删除该行并更改
timedate();
到
setInterval(function() { timedate(); },1000)
答案 1 :(得分:0)
如果您使用setTimeout(timedate, 1000)
而不是当前的魔术字符串版本设置超时,it works 1 。
1 我冒昧地为你的代码添加秒,以明确时钟更新。当然,您还需要从代码中删除<--
。