开发手册HTMLCSSJavaScript
HTML手册CSS手册JavaScript手册JavaScriptJS 教程JS 简介JS 实现JS 输出JS 语句JS 注释JS 变量JS 数据类型JS 对象JS 函数JS 运算符JS 比较JS If...ElseJS SwitchJS ForJS WhileJS BreakJS 错误JS 验证DOM 简介DOM HTMLDOM CSSDOM 事件DOM 节点JS 对象JS 数字JS 字符串JS 日期JS 数组JS 逻辑JS 算数JS 正则表达式JS WindowJS ScreenJS LocationJS HistoryJS NavigatorJS PopupAlertJS TimingJS CookiesJS 库JS jQueryJS PrototypeJS 实例JS 对象实例JS 总结JavaScript 对象HTML DOM 对象JS 高级教程HTML DOMjQueryJSONDHTMLJavaScript相关

JavaScript 计时

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

实例

简单的计时
单击本例中的按钮后,会在 5 秒后弹出一个警告框。
另一个简单的计时
本例中的程序会执行 2 秒、4 秒和 6 秒的计时。
在一个无穷循环中的计时事件
在本例中,单击开始计时按钮后,程序开始从 0 以秒计时。
带有停止按钮的无穷循环中的计时事件
在本例中,点击计数按钮后根据用户输入的数值开始倒计时,点击停止按钮停止计时。
使用计时事件制作的钟表
一个 JavaScript 小时钟

JavaScript 计时事件

通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:

setTimeout()
未来的某时执行代码
clearTimeout()
取消setTimeout()

setTimeout()

语法

var t=setTimeout("javascript语句",毫秒)

setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 t 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。

setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg()"。

第二个参数指示从当前起多少毫秒后执行第一个参数。

提示:1000 毫秒等于一秒。

实例

当下面这个例子中的按钮被点击时,一个提示框会在5秒中后弹出。

<html>
<head>
<script type="text/javascript">
function timedMsg()
 {
 var t=setTimeout("alert('5 seconds!')",5000)
 }
</script>
</head>

<body>
<form>
<input type="button" value="Display timed alertbox!" onClick="timedMsg()">
</form>
</body>
</html>

实例 - 无穷循环

要创建一个运行于无穷循环中的计时器,我们需要编写一个函数来调用其自身。在下面的例子中,当按钮被点击后,输入域便从 0 开始计数。

<html>

<head>
<script type="text/javascript">
var c=0
var t
function timedCount()
 {
 document.getElementById('txt').value=c
 c=c+1
 t=setTimeout("timedCount()",1000)
 }
</script>
</head>

<body>
<form>
<input type="button" value="Start count!" onClick="timedCount()">
<input type="text" id="txt">
</form>
</body>

</html>

clearTimeout()

语法

clearTimeout(setTimeout_variable)

实例

下面的例子和上面的无穷循环的例子相似。唯一的不同是,现在我们添加了一个 "Stop Count!" 按钮来停止这个计数器:

<html>

<head>
<script type="text/javascript">
var c=0
var t

function timedCount()
 {
 document.getElementById('txt').value=c
 c=c+1
 t=setTimeout("timedCount()",1000)
 }

function stopCount()
 {
 clearTimeout(t)
 }
</script>
</head>

<body>
<form>
<input type="button" value="Start count!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="Stop count!" onClick="stopCount()">
</form>
</body>

</html>
关于千图| 赞助千图 |千图首页   Copyright2014千图网   沪ICP备10011451号-6   用时:0.025秒

千图网提示