一般来调用函数,比如上节,如果想让网页上显示动态的时间。我们可以修改上节的代码如下(贴整个html文件):
HTML语言: Codee#8348
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="LookHere" style="color:red"></div>
<SCRIPT LANGUAGE="JavaScript">
function showTime(){
var today=new Date();
var hours=today.getHours();
var minutes=today.getMinutes();
var seconds=today.getSeconds();
var times=(hours>12)?"下午":"上午";
times+=(hours>12)?hours-12+"时":hours+"时";
times+=minutes+"分";
times+=seconds+"秒";
var xingqi=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
var str="<p>现在是:"+today.getFullYear()+"年"+ (today.getMonth()+1)+"月"+today.getDate()+"日"+xingqi[today.getDay()]+times+"</p>";
LookHere.innerHTML=str;
setTimeout("showTime()",1000);
}
showTime();
</SCRIPT>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<div id="LookHere" style="color:red"></div>
<SCRIPT LANGUAGE="JavaScript">
function showTime(){
var today=new Date();
var hours=today.getHours();
var minutes=today.getMinutes();
var seconds=today.getSeconds();
var times=(hours>12)?"下午":"上午";
times+=(hours>12)?hours-12+"时":hours+"时";
times+=minutes+"分";
times+=seconds+"秒";
var xingqi=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
var str="<p>现在是:"+today.getFullYear()+"年"+ (today.getMonth()+1)+"月"+today.getDate()+"日"+xingqi[today.getDay()]+times+"</p>";
LookHere.innerHTML=str;
setTimeout("showTime()",1000);
}
showTime();
</SCRIPT>
</BODY>
</HTML>
在这里不能用document.write,因为write方法在网页加载以后再调用,属于非法操作,所以得不到你预想的效果。需要提一下的是 innerHTML在写入的时候会覆盖此以前的内容,而document.write是追加。
以上的程序,还可以用setInteval方法,用法就是setInteval 写在方法外面。去掉showTime()这句话。他们的区别如下:
他们的语法基本上相同,但是完成的功能有区别:
setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
setInterval方法则是表示间隔一定时间反复执行某操作。
但是setInterval用在这里的不足就是,页面加载一秒以后才显示时间。
—-2008/12/01
Tags: js, setTimeout
No Comments Now!
Be the first to comment on this entry.