无聊写了一个简单的计时器demo,比较适合入门学习。
代码如下:
JS:
var btn=document.getElementById("btn");
btn.οnclick=function(){
this.disabled=true; //设置input为可编辑状态
var that=this; //因为在函数 f()内 通过this 获取不到btn这个按钮 故需在外部定义词法环境变量
var s=document.getElementById("txt").value; //获取input文本内容
var show=document.getElementById("show"); //获取倒计时显示结点 'show'
var time=setInterval(f,1000); //设置每一秒调用一次f()
var reg=/^\d+$/; //验证文本框内容是否为正整数
function f(){ //f()函数内容就不解释了...
if(reg.test(s)){
if(s>=0){
show.innerHTML="剩余"+s+"秒";
s--;
}if(s==-1){
that.disabled=false;
show.innerHTML="时间到";
clearInterval(time);
}
}else{
that.disabled=false;
alert("输入的数据无效");
clearInterval(time);
}
}
}
HTML:
请输入秒数:<input type="text" id="txt"> <button id="btn" >开始倒计时</button>
<br/>
<span id="show"></span>