純js實現重發驗證碼按鈕倒數功能,js重發驗證碼倒數
代碼一:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無標題文檔</title> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <input type="button" id="btn" value="免費擷取驗證碼" onclick="settime(this)" /> <script type="text/javascript"> var countdown=60; function settime(val) { if (countdown == 0) { val.removeAttribute("disabled"); val.value="免費擷取驗證碼"; countdown = 60; } else { val.setAttribute("disabled", true); val.value="重新發送(" + countdown + ")"; countdown--; } setTimeout(function() { settime(val) },1000) } </script> </body> </html>
代碼二:
註冊的時候需要發送驗證啟用帳號的郵件,為了避免郵件的多次重複發送,所以可以在點擊了發送後,設定button要過一段時間才能繼續點擊。下面是一個簡單的例子:
<html> <head> <title>點擊擷取驗證碼按鈕後按鈕變灰,倒計時一段時間後又可重複點擊</title> </head> <body> <input type="button" id="btn" value="免費擷取驗證碼" /> <script type="text/javascript"> var wait=60; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.value="免費擷取驗證碼"; wait = 60; } else { o.setAttribute("disabled", true); o.value=wait+"秒後可以重新發送"; wait--; setTimeout(function() { time(o) }, 1000) } } document.getElementById("btn").onclick=function(){time(this);} </script> </body> </html>