簡體   English   中英

我希望我的代碼在頁面加載時運行但 onload 不起作用

[英]i want my code to run when the page loads on but onload doesnt work

所以這是我的 html:

                <div id="MyClockDisplay" class="" onload="showTime()"> 

                    clock

                </div>
and its my java script :
 function showTime(){
let date = new Date();
let h = date.getHours(); // 0 - 23
let m = date.getMinutes(); // 0 - 59
let s = date.getSeconds(); // 0 - 59
let session = "AM";

if(h == 0){
    h = 12;
}

if(h > 12){
    h = h - 12;
    session = "PM";
}

h = (h < 10) ? "0" + h : h;
m = (m < 10) ? "0" + m : m;
s = (s < 10) ? "0" + s : s;

let time = h + ":" + m + ":" + s + " " + session;    
setTimeout(showTime, 1000);

document.getElementById("MyClockDisplay").innerHTML = time;

}

當我插入 onclick(在 html 中)時,java 腳本代碼運行良好,但我希望時鍾在我的頁面加載時開始工作,但 onload 不工作,有人可以幫我嗎?

onload不是div元素的有效屬性(它僅適用於<body><frame><frameset><iframe><img><link><script> )。 如果希望JS在加載后立即執行,請立即將script標簽移動到元素下方。

 <div id="MyClockDisplay" class="" onload="showTime()"> clock </div> <script> function showTime() { let date = new Date(); let h = date.getHours(); // 0 - 23 let m = date.getMinutes(); // 0 - 59 let s = date.getSeconds(); // 0 - 59 let session = "AM"; if (h == 0) { h = 12; } if (h > 12) { h = h - 12; session = "PM"; } h = (h < 10) ? "0" + h : h; m = (m < 10) ? "0" + m : m; s = (s < 10) ? "0" + s : s; let time = h + ":" + m + ":" + s + " " + session; document.getElementById("MyClockDisplay").innerHTML = time; } setTimeout(showTime, 1000); </script>

暫無
暫無

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

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