setTimeout函数在jquery和js中写法不同:
模拟时钟效果:
无参数:
jquery:
startTime();
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
console.log(h+":"+m+":"+s);
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout(startTime,500);
}
function checkTime(i)
{
if (i<10)
{i="0" + i}
return i
}
JS:t=setTimeout('startTime()',500);
有参数:
jquery:t=setTimeout(startTime,500,'lili');
js:t=setTimeout('startTime("+name+")',500);
效果:
延伸案例:点击按钮发验证倒计时:
点击免费获取验证码后1分钟倒计时,在此过程中,按钮为灰色不可点击,1分钟后方可重新发送。
<button id="btn">免费获取验证码</button>
<script>
$(function(){
var time=60;
$("#btn").click(function(){
var a=$(this);
time1();
});
function time1(){
if(time == 0){
$("#btn").removeAttr("disabled");
$("#btn").html("免费获取验证码");
time=60;
}else{
$("#btn").attr("disabled",true);
$("#btn").text("重新发送"+time);
time--;
setTimeout(time1,1000);
}
}
});
</script>