1. 程式人生 > >js 傳送簡訊驗證碼

js 傳送簡訊驗證碼

<body>
<input type="" name="" id="txt" value="" /><button id="btn">傳送簡訊驗證碼</button>
</body>
<script type="text/javascript">
var txt = document.getElementById("txt");
var btn = document.getElementById("btn");
var count = 5;   // 存放資料的
var timer = null;  // 存放定時器

/*
* btn 點選事件,首先清除定時器,設定btn按鈕不可用,
* 裡面一個函式,設定一個定時器使這個函式每隔一秒執行,
* 當count>=0,設定btn的內容為還剩下count秒,
* 否則內容為重新發送簡訊,btn可以點選使用,清楚定時器,使count =5,
*/
btn.onclick = function(){
clearInterval(timer);      // 首先清除定時器  ,防止出現再次點選越來越快的情況
//alert(11);
this.disabled = true;
var that = this;             // 所以   var 一個變數  來存放  btn 的 this
timer = setInterval(send,1000);      // 開啟定時器
function send(){
count--;
if(count >= 0){
//this.innerHTML = "";    // 這裡的this 指的是呼叫者定時器   而我們需要的是btn
that.innerHTML = "還有"+ count +"秒";      //  這裡的that 指的是btn    而不是定時器      
}else{
that.innerHTML = "重新發送簡訊";
that.disabled = false;
clearInterval(timer);        // 清楚定時器
count = 5;
}
}
}

</script>

效果: