当前位置:编程学习 > JS >>

javascript中按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单击事件中‘30’代表倒计时秒数,可以在绑定时设置秒数,灵活应用。 当然,这个倒计时只是前端控制,如果需要更安全的做法应该是服务器端也做判断。</p>

补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,