我尝试使用external
js文件在html文件中打印时间,但无法打印时间。如果我使用外部js作为内联而不是打印时间。为什么这样?
我的源代码:
time(){
var today = new Date();
var day = today.getDay();
var daylist = ["Sunday", "Monday", "Tuesday", "Wednesday ", "Thursday", "Friday", "Saturday"];
document.writeln("Today is : " + daylist[day] + ".");
var hour = today.getHours();
var minute = today.getMinutes();
var second = today.getSeconds();
var prepand = (hour >= 12) ? " PM " : " AM ";
hour = (hour >= 12) ? hour - 12 : hour;
if (hour === 0 && prepand === ' PM ')
{
if (minute === 0 && second === 0)
{
hour = 12;
prepand = ' Noon';
}
else
{
hour = 12;
prepand = ' PM';
}
}
if (hour === 0 && prepand === ' AM ')
{
if (minute === 0 && second === 0)
{
hour = 12;
prepand = ' Midnight';
}
else
{
hour = 12;
prepand = ' AM';
}
}
document.write("Current Time : " + hour + prepand + " : " + minute + " : " + second);
}
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="watchdiv.css">
<title>JavaScript current day and time</title>
</head>
<body>
<div id="watch">
<script src="watch.js">time()</script>
</div>
</body>
</html>
我错过了什么来获得结果?在div标签中没有结果打印
答案 0 :(得分:1)
这很可能是因为文件没有及时加载,因此调用时间函数的脚本块失败。
将加载文件的脚本标记移动到html文件的底部。理想情况下,您应该使用一些代码逻辑来检测文件何时加载。如果您使用像jquery这样的库,则只需预先安装。
你也做错了,你需要两个标签,一个加载脚本,一个运行你的功能。
<script src="watch.js"></script>
<script>time();</script>
答案 1 :(得分:1)
尝试:
<script src="watch.js"></script>
<script>time();</script>
答案 2 :(得分:0)
datestmp.js:
date()
function date(){
test = new Date()
month = test.getMonth()
month = (month * 1) + 1
day = test.getDate()
year = test.getFullYear()
document.write(" ",month,"/",day,"/",year," ")
}
在您的HTML中:
<script src="datestmp.js">
</script>
答案 3 :(得分:0)
您正在同时加载和执行两者。
由于Javascript
是同步的。因此,首先必须加载文件,然后下一个脚本标记将是执行代码。
<script type="text/javascript" src="watch.js"></script>
<script>
time();
</script>