您的位置:寻梦网首页编程乐园JavaScriptJavaScript 高级教程
第 1 课 第 2 课 第 3 课 第 4 课 第 5 课

JavaScript高级教程 - 第三课

作者: Thau   

第五页:一个Javascript编写的时钟

现在时间是:

点击“启动时钟”则时钟开始运行。它从你的计算机中读取时间
并每半秒更新一次文字框中的显示。这个例子通过一个自调用
的函数设置了一个定时器。同时这个例子可以让你了解一点Date
对象的功能。当讲解cookies时,我提到过Date对象。

以下是代码:
function writeTime() {
 
  // 获得日期对象
  var today = new Date();

  // 从对象中获得信息
  var hours = today.getHours();
  var minutes = today.getMinutes();
  var seconds = today.getSeconds();

  // fixTime 使分和秒可以正常显示
  // 对于小于10的数字则在该数字前加一个0
  minutes = fixTime(minutes);
  seconds = fixTime(seconds);

  //将时间字符串组合在一起并写出
  var the_time = hours + ":" + minutes + ":" + seconds;
  window.document.the_form.the_text.value = the_time;

  //每半秒钟执行一次该函数
  the_timeout= setTimeout('writeTime();',500);

}


function fixTime(the_time) {


if (the_time <10) { the_time = "0" + the_time; } return the_time; }

我们仔细研究一下代码。

var today = new Date();
正如new Array() 可以生成一个新的数组,你可以可以
new Date() 生成一个新的日期对象。生成对象之后,
你可以对其提出你的问题。你生成的新的日期对象的括号
中间没有任何参数, 但JavaScript会查询计算机的始终
并用其生成新的日期对象。现在我们的日期对象名为
"today" ,我们可以从中提取相应的信息。
var hours = today.getHours();
这条用于获得当前的小时值。它是军队格式的时间,即,
如果当前时间是下午两点,则它返回的值是14。getHours()
是Javascript的日期对象内置的方法调用。
var minutes = today.getMinutes(); var seconds = today.getSeconds();
这几行原理和getHours()类似
minutes = fixTime(minutes);
getMinutes存在一些问题,如果分钟是11:01, getMinutes
将返回 "1"。时钟的显示格式可不是这样,它应该显示为
“01”。fixTime函数就是用于执行纠正显示格式的功能。
下面两行将字符串组合在一起并显示出来,
the_timeout = setTimeout('writeTime();', 500);
设置没半秒执行一次该函数的循环。

下面我们将学习如何在定时器中加入变量。>>

JavaScript高级教程
第一页 Javascript高级教程 - 第三课
第二页 如何给事件定时
第三页 定时循环的概念
第四页 定时循环的做法
第五页 一个Javascript编写的时钟
第六页 给定时器加入变量
第七页 识别用户的浏览器
第八页 如何识别用户的浏览器
第九页 对象和方法的识别
第十页 History对象

[第1课][第2课][第3课][第4课][第5课]

来源: Wired Digital Inc.