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--; } }