A-A+

javascript中按setTimeout实现计时示例

2016年02月16日 编程技术 暂无评论

倒计时这种功能在很多网站可以看到,特别是团购产品的网站倒计时特别多,下面我来介绍js倒计时实现程序,有需要的朋友可参考参考。

js代码如下:

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

html代码如下:

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

给我留言