JavaScript 时钟在移动设备上不显示当前时间
JavaScript clock not showing current time on mobile devices
我得到了这个 JavaScript 在我的网站上显示当前时间的代码,非常适合桌面设备,但不适用于移动设备
在用户访问页面时卡住
有什么办法可以做到这一点吗?每秒刷新脚本以显示当前时间或任何其他解决方案?
document.getElementById("clock").innerHTML = GetTime();
function GetTime(){
var d = new Date();
var nhour = d.getHours(),nmin=d.getMinutes();
if (nmin<=9) {
nmin = "0" + nmin
}
return nhour+":"+nmin+"";
}
<span id="clock"></span>
非常感谢您的帮助!
编辑: 感谢 mdickin 我意识到即使在桌面上时钟也不会更新。所以整个代码都有问题。
是的,您可以使用 setInterval,它会定期(以毫秒为单位)运行函数。
function setTime()
{
document.getElementById("clock").innerHTML = GetTime();
}
setInterval(setTime,1000);
您可以更改毫秒数以适应,具体取决于您想要的准确度...但我怀疑您是否需要担心任何一种方式都超过一秒。
这里是 link,其中包含有关 setInterval and setTimeout
的更多信息
这是我用 codepen 编写的一个简单程序,用于创建实时 JS 计时器。基本上您需要做的就是在 setTimeout
函数中调用该函数并提供以毫秒为单位的频率。
function startTimer() {
var today = new Date();
var hours = today.getHours();
var mins = today.getMinutes();
var sec = today.getSeconds();
mins = checkTime(mins);
sec = checkTime(sec);
document.getElementById('timer').innerHTML =
hours + ":" + mins + ":" + sec;
var t = setTimeout(startTimer, 100);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i
};
return i;
}
<body onLoad="startTimer()">
<div id="timer"></div>
</body>
这是我的 codepen
的 link
每秒使用 setInterval
到 运行 您的 GetTime()
函数:
document.getElementById("clock").innerHTML = GetTime();
function GetTime(){
var d = new Date();
var nhour = d.getHours(),nmin=d.getMinutes();
if (nmin<=9) {
nmin = "0" + nmin
}
return nhour+":"+nmin+"";
}
setInterval(GetTime, 1000); // run GetTime every 1000ms
<span id="clock"></span>
我得到了这个 JavaScript 在我的网站上显示当前时间的代码,非常适合桌面设备,但不适用于移动设备
在用户访问页面时卡住
有什么办法可以做到这一点吗?每秒刷新脚本以显示当前时间或任何其他解决方案?
document.getElementById("clock").innerHTML = GetTime();
function GetTime(){
var d = new Date();
var nhour = d.getHours(),nmin=d.getMinutes();
if (nmin<=9) {
nmin = "0" + nmin
}
return nhour+":"+nmin+"";
}
<span id="clock"></span>
非常感谢您的帮助!
编辑: 感谢 mdickin 我意识到即使在桌面上时钟也不会更新。所以整个代码都有问题。
是的,您可以使用 setInterval,它会定期(以毫秒为单位)运行函数。
function setTime()
{
document.getElementById("clock").innerHTML = GetTime();
}
setInterval(setTime,1000);
您可以更改毫秒数以适应,具体取决于您想要的准确度...但我怀疑您是否需要担心任何一种方式都超过一秒。
这里是 link,其中包含有关 setInterval and setTimeout
的更多信息这是我用 codepen 编写的一个简单程序,用于创建实时 JS 计时器。基本上您需要做的就是在 setTimeout
函数中调用该函数并提供以毫秒为单位的频率。
function startTimer() {
var today = new Date();
var hours = today.getHours();
var mins = today.getMinutes();
var sec = today.getSeconds();
mins = checkTime(mins);
sec = checkTime(sec);
document.getElementById('timer').innerHTML =
hours + ":" + mins + ":" + sec;
var t = setTimeout(startTimer, 100);
}
function checkTime(i) {
if (i < 10) {
i = "0" + i
};
return i;
}
<body onLoad="startTimer()">
<div id="timer"></div>
</body>
这是我的 codepen
的 link每秒使用 setInterval
到 运行 您的 GetTime()
函数:
document.getElementById("clock").innerHTML = GetTime();
function GetTime(){
var d = new Date();
var nhour = d.getHours(),nmin=d.getMinutes();
if (nmin<=9) {
nmin = "0" + nmin
}
return nhour+":"+nmin+"";
}
setInterval(GetTime, 1000); // run GetTime every 1000ms
<span id="clock"></span>