簡體   English   中英

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);

您可以更改毫秒數以適合您,具體取決於您要達到的精度...但是我懷疑您是否需要擔心這兩種方式都超過一秒。

這是一個包含有關setInterval和setTimeout的更多信息的鏈接

使用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> 

這是我用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> 

這是我的代碼筆的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM