2016-11-11 33 views
1

所以我有一個腳本,基本上刷新時間一致,所以用戶看到的時間與秒/分鐘/小時等加起來。<script>打開頁面時並不總是加載

出於某種原因,有時當我加載它的工作頁面,但大部分時間沒有。這是非常不尋常的,我想知道是否有人會有輸入。

爲了造型的目的,em標籤真的需要留在h1中。

這裏是我的代碼:

<head> 

<link rel="stylesheet" type="text/css" href="styling.css"> 
<h1>The Trade Shack<em id="demo"></em></h1> 
<title>Homepage</title> 

<script> 
    function getCurrentDate(){ 
var fullDate = new Date(); 
var day = fullDate.getDay(); 
var stringDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
var month = fullDate.getMonth(); 
var stringMonth = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 
var numDay = fullDate.getDate(); 
var year = fullDate.getFullYear(); 
var hour = fullDate.getHours(); 
var minute = fullDate.getMinutes(); 
var second = fullDate.getSeconds(); 

document.getElementById("demo").innerHTML = stringDays[day] + ", " + stringMonth[month] + " " + numDay + ", " + year + ", " + hour + ":" + minute + ":" + second; 

} 

setInterval(getCurrentDate,1000); 
</script> 

    </head> 
+0

纏上window.onload..It的代碼應工作 – Geeky

+2

只是調用的window.onload內的setInterval ...這將很好地工作 – Geeky

+3

不使用H1,...的頭部片段。頭部片段應該只包含鏈接,腳本,元或標題等元素。其他所有東西都應該用在車身標籤上。您可以使用https://validator.w3.org/驗證您的標記,例如 –

回答

1

將您的setInterval裹在window.onload中。

... 

window.onload=function(){ 
    setInterval(getCurrentDate,1000); 
}; 

此外,到後來修正了一些問題,你可能有你的HTML中,將您<h1><head><body>

1

首先,你應該刪除h1元素(和它的所有內部),並把那您的文檔的body標籤,然後使用window.onload事件,這就是你要調用的代碼這個PICE setInterval(getCurrentDate,1000);

您可以在這裏獲得使用window.onload http://www.w3schools.com/jsref/event_onload.asp

希望工程:)

1

即使未找到'demo',確保該功能正常工作。否則,它會導致阻塞錯誤並阻止進一步的執行。並把<h1>放在體內而不是頭部。

<head> 
<link rel="stylesheet" type="text/css" href="styling.css"/> 
<title>Homepage</title> 
<script> 
function getCurrentDate() { 
    var demo = document.getElementById("demo"); 
    if (!demo) {return;} 
    var fullDate = new Date(); 
    var day = fullDate.getDay(); 
    var stringDays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
    var month = fullDate.getMonth(); 
    var stringMonth = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; 
    var numDay = fullDate.getDate(); 
    var year = fullDate.getFullYear(); 
    var hour = fullDate.getHours(); 
    var minute = fullDate.getMinutes(); 
    var second = fullDate.getSeconds(); 
    demo.innerHTML = stringDays[day] + ", " + stringMonth[month] + " " + numDay + ", " + year + ", " + hour + ":" + minute + ":" + second; 
} 
setInterval(getCurrentDate, 1000); 
</script> 
</head> 
<body> 
<h1>The Trade Shack<em id="demo"></em></h1> 
<!--More HTML here--> 
</body>