我刚刚开始学习网页开发,我遇到了一些麻烦。我想在我的主页上显示一个时钟。只是一个运行时钟。我使用了w3中的一个例子,但是他们在html中都拥有它,我想使用一个单独的文件。当我启动网站时,没有任何事情发生,时钟也没有出现。当我将showtime单独放入一个脚本标记到jsp中时就可以了。
的index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script lang="javascript" type="text/javascript" src="JavaScript/showtime.js"></script>
</head>
<body>
<p>Test</p>
<div id="txt"></div>
<p>Hello World</p>
<p>test2</p>
</body>
showtime.js
function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
document.getElementById('txt').innerHTML = h+":"+m+":"+s;
var t = setTimeout(function(){startTime()},500);
}
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
startTime();
答案 0 :(得分:2)
@ developerwjk的答案很可能是正确的,但它可能不是完整的答案。你的javascript在头脑中,所以它将在DOM准备好之前运行(换句话说,在txt元素可用之前),因此调用startTime();
将导致javascript错误,时钟将从不开始跑步。
更改行startTime();
,如下所示:
window.onload = function() { startTime(); };
或者,在结束</body>
标记之前包含此javascript文件。
答案 1 :(得分:0)
它是一个相对路径问题。您必须将脚本的相对路径设置为当前html / jsp文件的位置正确。
尝试更改
src="JavaScript/showtime.js"
to(如果它在同一个目录中)
src="./JavaScript/showtime.js"
或(如果回来的话)
src="../JavaScript/showtime.js"