jquery有一个计时器函数,用起来就好。javascript
前端设置两个a标签,正常的,一个隐藏的css
<a class='statis' site='13' onclick="fm_vfcode('{:url('Login/getVfCode')}')" href="javascript:void(0);" id="putvf">发送验证码</a> <!-- 下面这个是替换上面内容的 --> <a class='statis' style="display: none;background-color: #c6c6c6;cursor: default;" site='13' href="javascript:void(0);" id="putvf1">发送验证码</a>
在js的fm_vfcode方法里面适当的位置调用editvfput方法传入须要的秒数便可html
function fm_vfcode(url) {//这是主方法,这里调用读秒便可 var mobile = $('#phone').val(); var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; if(!myreg.test(mobile)) { alert('请输入正确国内手机号!'); return false; } var postData = { 'mobile': mobile, }; $.post(url,postData,function(requst){ if(requst.code == 1){ alert("发送成功!"); $('#putvf').css('display','none'); $('#putvf1').css('display','block'); editvfput(10); }else { alert(requst.msg); } }); } //读秒 function editvfput(count) { var down = setInterval(CountDown, 1000);//每秒执行一次,赋值 function CountDown() { $('#putvf1').text('剩余 '+count+' 秒');//写入 if (count == 0) { $('#putvf1').css('display','none');//修改状态 $('#putvf').css('display','block'); clearInterval(down);//销毁计时器 return; } count--; } }