教学项目二十一 JavaScript中Date对象及其应用
【教学内容】
讲解JavaScript中的内置 Date对象
【教学目的】
使学生学会设计与时间相关的JavaScript特效网页
【教学重点】
内置对象Date的使用
【教学难点】
内置对象Date的使用
【教学方式】
讨论式、案例分析式、练习式相结合
【教学参考】
1.<<JavaScript 入门与提高>> 杨浩著 清华大学出版社
2.<<Internet 网页工场>> Wittime工作室 重庆出版社
3.<<JavaScript从入门到精通>> 电脑报社出版
4.<<JavaScript编程起步>> 人民邮电出版社
【教学过程】
【新课】
案例设计
设计倒记时网页:
分析:
此例中处理的是与时间相关的信息,要用到Date()对象;
getTime(): 获取当前时间以毫秒作为计数单位的数值;
程序代码如下:
<html>
<body>
<script>
var tim=new Date("01/01/2005");
var s="今天距离2005年1月1日";
var now=new Date();
var ile=tim.getTime()-now.getTime();
var day1=Math.floor(ile/(1000*60*60*24));
document.write(" "+s+"还有"+day1+"天");
</script>
</body>
</html>
案例二、设计分时显示不同信息的网页。
分析:
将时间分成不同时段:
4: 显示信息夜深了,请将喇叭的音量调小
4—7: 显示信息清晨好,您可真早呀!早饭吃了吗?
7—12: 显示信息上午好,您开始工作了?
12—18:显示信息下午好,工作时间可别光顾着上网啊!
18—23:显示信息晚上好,正是上网的好时机!
程序代码如下:
<html>
<body>
<script language="JavaScript">
<!--
var mess1=" ";
document.write("<center><font color='#000000' >")
day = new Date( )
hr = day.getHours( )
if (( hr >=0 ) && (hr <= 4 ))
mess1= "夜深了,请将喇叭的音量调小"
if (( hr >= 4 ) && (hr < 7))
mess1=" 清晨好,您可真早呀!早饭吃了吗?"
if (( hr >= 7 ) && (hr < 12))
mess1=" 上午好,您开始工作了? "
if (( hr >= 12) && (hr <= 18))
mess1= "下午好,工作时间可别光顾着上网啊! "
if ((hr >= 18) && (hr <= 23))
mess1= "晚上好,正是上网的好时机! "
document.write(mess1);
</script>
</body>
</html>
案例三、设计网页, 将系统时间显示在按钮上。
分析:
使用Date()对象的getHour()、 getMInutes()、 getSeconds()方法
getHour(): 获取小时值;
getMInutes():获取当前分钟值;
getSeconds():获取当前秒钟值;
将显示时间的功能设计为函数clock()
程序代码如下:
<html>
<head>
<script LANGUAGE="JavaScript">
function clock()
{
today = new Date();
hrNow = today.getHours();
mnNow = today.getMinutes();
scNow = today.getSeconds();
if(hrNow <= 11)
{
ap = " AM";
hour = hrNow;
}
else
if (hrNow >= 12) {
hour = (hrNow - 12);
ap = " PM";
}
if (mnNow <= 9) {
min = "0" + mnNow;
}
else
{
(min = mnNow)
}
if (scNow <= 9)
{
secs = "0" + scNow;
}
else {
secs = scNow;
}
time ="现在时间是:"+ hour + ":" + min + ":" + secs + ap;
document.form1.button1.value = time;
setTimeout('clock()', 1000);
}
</script>
</head>
<body onload=clock()>
<form name=form1>
<input type=button name=button1 >
</form>
<body>
</html>
【课后小结】
内置对象Date()的主要是处理与日期、时间相关的功能;在实现刷新时,通常会使用方法setTimeout();在书写Date()的相应方法时,应注意大小写,否则可能不会实现设计的网页特效。