javascript setTimeout的一个应用例子

setTimeout( )

setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method。请先看以下一个简单, 这是没有实际用途的例子, 只是用来示范 setTimeout( ) 的语法。

定义和用法: setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。  

语法: setTimeout(code,millisec)  

参数: code (必需):要调用的函数后要执行的 JavaScript 代码串。millisec(必需):在执行代码前需等待的毫秒数。  提示: setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

clearTimeout( )

我们再来一起看一下 clearTimeout( ),

clearTimout( ) 有以下语法 :  

clearTimeout(timeoutID)

要使用 clearTimeout( ), 我们设定 setTimeout( ) 时 , 要给予这 setTimout( ) 一个名称 , 这名称就是 timeoutID , 我们叫停时 , 就是用这 timeoutID 来叫停 , 这是一个自定义名称 , 但很多人就以 timeoutID 为名。

在下面的例子 , 设定两个 timeoutID, 分别命名为 meter1 及 meter2, 如下 :

timeoutID  ↓ meter1 = setTimeout(“count1( )”, 1000) meter2 = setTimeout(“count2( )”, 1000)

使用这 meter1 及 meter2 这些 timeoutID 名称 , 在设定 clearTimeout( ) 时 , 就可指定对哪一个 setTimeout( ) 有效 , 不会扰及另一个 setTimeout( ) 的操作。

js代码如下:

/**  
 * 倒计时函数 
 * 需要在按钮上绑定单击事件 
 * 如: <INPUT contentEditable=false value=发送短信 type=button data-cke-pa-onclick="setInterval('countDown(this,30)',1000);" data-cke-editable="1"> 
 * 30代表秒数,需要倒计时多少秒可以自行更改 
 */ 
function countDown(obj,second){  
    // 如果秒数还是大于0,则表示倒计时还没结束  
    if(second>=0){  
          // 获取默认按钮上的文字  
          if(typeof buttonDefaultValue === 'undefined' ){  
            buttonDefaultValue =  obj.defaultValue;  
        }  
        // 按钮置为不可点击状态  
        obj.disabled = true;              
        // 按钮里的内容呈现倒计时状态  
        obj.value = buttonDefaultValue+'('+second+')';  
        // 时间减一  
        second--;  
        // 一秒后重复执行  
        setTimeout(function(){countDown(obj,second);},1000);  
    // 否则,按钮重置为初始状态  
    }else{  
        // 按钮置未可点击状态  
        obj.disabled = false;     
        // 按钮里的内容恢复初始状态  
        obj.value = buttonDefaultValue;  
    }     

html代码如下:

<h1>  
    js按钮三十秒倒计时效果</h1>  
<hr />  
<p>  
    <input onclick="countDown(this,30);" type="button" value="发送短信" /></p>  
<hr />  
<h3>  
    琼台博客 qttc.net</h3>  
<p>  
    在按钮上绑定的js单击事件中&lsquo;30&rsquo;代表倒计时秒数,可以在绑定时设置秒数,灵活应用。 当然,这个倒计时只是前端控制,如果需要更安全的做法应该是服务器端也做判断。</p> 

下面请看 clearTimeout()的案例

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script>
x = 0
y = 0
function count1()
{ x = x + 1
  document.display1.box1.value = x
  meter1=setTimeout("count1()", 1000)
}
function count2()
{ y = y + 1
  document.display2.box2.value = y
  meter2=setTimeout("count2()", 1000)
}
</script> </head>
<body>
<p> </br>
<form name="display1">
    <input type="text" name="box1" value="0" size=4 >
    <input type=button value="停止计时" onClick="clearTimeout(meter1) " >
    <input type=button value="继续计时" onClick="count1() " >
</form>
<p>
<form name="display2">
    <input type="text" name="box2" value="0" size=4 >
    <input type=button value="停止计时" onClick="clearTimeout(meter2) " >
    <input type=button value="继续计时" onClick="count2() " >
</form>

<script>
    count1()
    count2()
</script>
</body>
</html>

时间: 2024-10-23 23:36:33

javascript setTimeout的一个应用例子的相关文章

javascript setTimeout 教程

setTimeout方法是用于用于在指定的毫秒数后调用函数或计算表达式. 使用方法: setTimeout(code,millisec) 二个参数都是必选项. 必需.要调用的函数后要执行的 JavaScript 代码串.第二为时间参数,多少毫秒执行一次: setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). 好了下面我们来看看settimeout 的一个例子吧. <script type=

javascript中应用 cookie 的 例子

cookie|javascript java中的cookie使用时非常的广泛的,尤其一些 在线 影音 播放的网站, 一般都是用服务器段脚本将 影音文件的名字 放到cookie中,然后在客户段 用 javascript 读取 .这样可以隐蔽 文件的名字,防止下载. 下面就把一个javascript中使用 cookie的例子发出来.大家共同学习.  写 cookie          var expiresTime=new Date();         expiresTime.setTime(ex

PHP动态生成javascript文件的2个例子

 这篇文章主要介绍了PHP动态生成javascript文件的2个例子,需要的朋友可以参考下 一.PHP动态生成   第一步:在PHP文件中直接写入JS代码,并在头部声明这是一个JavaScript文件    代码如下:<?php header('Content-Type: application/x-javascript; charset=UTF-8');?> 第二步:用PHP输出转义JavaScript代码  代码如下:function jsformat($str) {     $str =

JavaScript Sort 的一个错误用法示例

 这篇文章主要介绍了JavaScript Sort 的一个错误用法示例,本文分析了一个Sort实例得到了这个错误用法并给出了解决方法,需要的朋友可以参考下     前不久同事的代码中出了一个很神奇的问题,大致流程是对一个由对象组成的数组进行排序,其中属性 a 用于排序,属性 b 作为一个优选条件,当 b 等于 1 的时候无论 a 值是什么,都排在开头 .这本是一个很简单的问题,问题就在于他用两次 sort 实现在这次排序,先根据 a 的属性排序,然后再根据 b 的值来排序.问题就出在第二次排序中

使用javascript做的一个随机点名程序

 这篇文章主要介绍了使用javascript做的一个随机点名程序,经测试,效果相当不错,需要的朋友可以参考下  代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  "http://www.w3.org/TR/html4/loose.dtd">  <html>  <head>  <meta http-equiv="Content-

javascript setTimeout的深度递归设置完成后回调

setTimeout  在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次 setTimeout 在执行时,它从载入后,每隔指定的时间就执行一次表达式 1,基本用法:    执行一段代码:  代码如下 复制代码    var i=0;    setTimeout("i+=1;alert(i)",1000);    执行一个函数:    var i=0;    setTimeout(function(){i+=1;alert(i);},1000);       //注意比较

一个小例子解释如何来阻止Jquery事件冒泡_jquery

什么是JS事件冒泡? 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window). 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <!DOCTYPE html PUBLIC "-//W3C//D

用纯JavaScript怎么布局一个网页?

问题描述 用纯JavaScript怎么布局一个网页?怎么用JavaScript的面向对象和函数实现布局呀? 解决方案 解决方案二:仅仅是进行一般的布局并不一定非要用什么面向对象.只有需要编写抽象的控件对象时才需要.刚开始就从基础学,不要一上来就弄高深的,否则也无法真正学好用好.解决方案三:找个extjs的例子解决方案四:ExtJS就是用纯javascript来布局一个网页的,你可以看看它.解决方案五:那也需要先精通DIV+CSS...

js浏览器-javascript中的一个小问题(浏览器问题)

问题描述 javascript中的一个小问题(浏览器问题) 求助 javascript中的一个小问题< html> <head> <title>Ajax 简单的服务器请求 <script type=""text/javascript""> var xmlobj; function CreateXMLHttpRequest() { if(window.ActiveXObject) //如果当前浏览器支持ActiveXOb