打开页面时,<script>并不总是加载

时间:2016-11-11 22:32:52

标签: javascript html css

所以我有一个脚本基本上可以持续刷新时间,所以用户可以看到时间与秒/分钟/小时等相加。

&#xA;&#xA;

出于某种原因,有时当我加载页面它工作,但大多数时候没有。这是非常不寻常的,我想知道是否有人会有输入。

&#xA;&#xA;

为了造型,em标签真的需要留在h1。

& #xA;&#xA;

这是我的代码:

&#xA;&#xA;
 &lt; head&gt;&#xA;&#xA;&lt; link rel =“ stylesheet“type =”text / css“href =”styling.css“&gt;&#xA;&lt; h1&gt; Trade Shack&lt; em id =”demo“&gt;&lt; / em&gt;&lt; / h1&gt;&# XA;&LT;标题&GT;主页&LT; /标题&GT;&#XA;&#XA;&LT;脚本&GT;&#XA; function getCurrentDate(){&#xA; var fullDate = new Date();&#xA; var day = fullDate.getDay();&#xA; var stringDays = [“Sunday”,“Monday”,“Tuesday”, “星期三”,“星期四”,“星期五”,“星期六”];&#xA; var month = fullDate.getMonth();&#xA; var stringMonth = [“January”,“February”,“March”, “April”,“May”,“June”,“July”,“August”,“September”,“October”,“November”,“December”];&#xA; var numDay = fullDate.getDate(); &#xA; var year = fullDate.getFullYear();&#xA; var hour = fullDate.getHours();&#xA; var minute = fullDate.getMinutes();&#xA; var second = fullDate.getSeconds( );&#xA;&#xA; document.getElementById(“demo”)。innerHTML = stringDays [day] +“,”+ stringMonth [month] +“”+ numDay +“,”+ year +“,”+小时+“:”+分钟+“:”+秒;&#xA;&#xA;}&#xA;&#xA; setInterval(getCurrentDate,1000);&#xA;&lt; / script&gt;&#xA ;&#XA; &LT; /头&GT;&#XA;  
&#XA;

3 个答案:

答案 0 :(得分:1)

首先你应该删除h1元素(以及它内部的所有元素)并将其放在文档的body标签上,然后使用window.onload事件,这就是你要称之为pice的地方代码setInterval(getCurrentDate,1000);

您可以在此处查看window.onload的使用情况 http://www.w3schools.com/jsref/event_onload.asp

我希望它有效:)

答案 1 :(得分:1)

setInterval包裹在window.onload

...

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

此外,要修复以后html可能遇到的一些问题,请将<h1><head>移至<body>

答案 2 :(得分:1)

即使找不到“demo”,也要确保该功能正常工作。否则,它可能导致阻塞错误并阻止进一步执行。并把&lt; h1&gt;在身体而不是头部。

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