DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jQuery實現倒計時按鈕功能代碼分享
jQuery實現倒計時按鈕功能代碼分享
編輯:JQuery特效代碼     

代碼一:

{ 
 wait:90,
 
 hsTime:function(that){
 
   if (this.wait == 0) { 
    $('#hsbtn').removeAttr("disabled").val('重發短信驗證碼');   
    this.wait = 90; 
   } else { 
    var _this = this;
    $(that).attr("disabled", true).val('在'+_this.wait+'秒後點此重發');
    _this.wait--; 
    setTimeout(function() { 
     _this.hsTime(that); 
    }, 1000) 
   } 
  },
}

代碼二:

<!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>
 <title></title>
 <script src="HTML/js/jquery-1.4.1.min.js" type="text/javascript"></script>
 <script type="text/javascript">
/*-------------------------------------------*/
  var InterValObj; //timer變量,控制時間
var count = 5; //間隔函數,1秒執行
var curCount;//當前剩余秒數
var code = ""; //驗證碼
var codeLength = 6;//驗證碼長度
function sendMessage() {
   curCount = count;
   var dealType; //驗證方式
var uid=$("#uid").val();//用戶uid
if ($("#phone").attr("checked") == true) {
    dealType = "phone";
   }
   else {
    dealType = "email";
   }
   //產生驗證碼
for (var i = 0; i < codeLength; i++) {
    code += parseInt(Math.random() * 9).toString();
   }
   //設置button效果,開始計時
    $("#btnSendCode").attr("disabled", "true");
    $("#btnSendCode").val("請在" + curCount + "秒內輸入驗證碼");
    InterValObj = window.setInterval(SetRemainTime, 1000); //啟動計時器,1秒執行一次
//向後台發送處理數據
    $.ajax({
     type: "POST", //用POST方式傳輸
     dataType: "text", //數據格式:JSON
     url: 'Login.ashx', //目標地址
     data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,
     error: function (XMLHttpRequest, textStatus, errorThrown) { },
     success: function (msg){ }
    });
   }
  //timer處理函數
function SetRemainTime() {
   if (curCount == 0) {    
    window.clearInterval(InterValObj);//停止計時器
    $("#btnSendCode").removeAttr("disabled");//啟用按鈕
    $("#btnSendCode").val("重新發送驗證碼");
    code = ""; //清除驗證碼。如果不清除,過時間後,輸入收到的驗證碼依然有效 
   }
   else {
    curCount--;
    $("#btnSendCode").val("請在" + curCount + "秒內輸入驗證碼");
   }
  }
 </script>
</head>
<body>
  <input id="btnSendCode" type="button" value="發送驗證碼" onclick="sendMessage()" /></p>
</body>
</html>

代碼三:

<!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>
 <title>10之後注冊</title>
 <script src="../js/jquery-1.6.2.min.js" type="text/javascript"></script>
 <script type="text/javascript" language="javascript">
  var leftSeconds = 10;//倒計時時間10秒
  var intervalId;
  $(function () {
   $("#btn_reg").attr("disabled", true);//設置按鈕不可用
   intervalId = setInterval("CountDown()",1000);//調用倒計時的方法
  });
  function CountDown() {//倒計時方法
   if (leftSeconds <= 0) {
    $("#btn_reg").val("注冊"); //當時間<=0的時候改變按鈕的value
    $("#btn_reg").attr("disabled",false);//如果時間<=0的時候按鈕可用
    clearInterval(intervalId); //取消由 setInterval() 設置的 timeout
    return;
   }
   leftSeconds--;
   $("#btn_reg").val("請仔細閱讀"+leftSeconds+"秒");
  }
 </script>
</head>
<body>
<textarea cols="20" rows="8">10秒之後注冊按鈕才可以使用</textarea>
<input type="button" value="注冊" id="btn_reg" />
</body>
</html>

代碼四:

<!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>
 <title></title>
 <script src="HTML/js/jquery-1.4.1.min.js" type="text/javascript"></script>
 <script type="text/javascript">

  /*-------------------------------------------*/
  var InterValObj; //timer變量,控制時間
var count = 5; //間隔函數,1秒執行
var curCount;//當前剩余秒數
var code = ""; //驗證碼
var codeLength = 6;//驗證碼長度
function sendMessage() {
   curCount = count;
   var dealType; //驗證方式
var uid=$("#uid").val();//用戶uid
if ($("#phone").attr("checked") == true) {
    dealType = "phone";
   }
   else {
    dealType = "email";
   }
   //產生驗證碼
for (var i = 0; i < codeLength; i++) {
    code += parseInt(Math.random() * 9).toString();
   }
   //設置button效果,開始計時
    $("#btnSendCode").attr("disabled", "true");
    $("#btnSendCode").val("請在" + curCount + "秒內輸入驗證碼");
    InterValObj = window.setInterval(SetRemainTime, 1000); //啟動計時器,1秒執行一次
//向後台發送處理數據
    $.ajax({
     type: "POST", //用POST方式傳輸
     dataType: "text", //數據格式:JSON
     url: 'Login.ashx', //目標地址
     data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,
     error: function (XMLHttpRequest, textStatus, errorThrown) { },
     success: function (msg){ }
    });
   }
  //timer處理函數
function SetRemainTime() {
   if (curCount == 0) {    
    window.clearInterval(InterValObj);//停止計時器
    $("#btnSendCode").removeAttr("disabled");//啟用按鈕
    $("#btnSendCode").val("重新發送驗證碼");
    code = ""; //清除驗證碼。如果不清除,過時間後,輸入收到的驗證碼依然有效 
   }
   else {
    curCount--;
    $("#btnSendCode").val("請在" + curCount + "秒內輸入驗證碼");
   }
  }
 </script>
</head>
<body>
  <input id="btnSendCode" type="button" value="發送驗證碼" onclick="sendMessage()" /></p>
</body>
</html>

代碼五:

最近在寫短信發送驗證碼,就寫了個js/jquery倒計時發送驗證碼按鈕
<script language="javascript" src="jquery-1.7.1.min.js"></script>
<input type="button" id="btn" value="免費獲取驗證碼" />
<script type="text/javascript">
var wait=10;
function time(t) {
  if (wait == t) {
   t.removeAttribute("disabled");   
   t.value="免費獲取驗證碼";
   wait = 10;
  } else {
   t.setAttribute("disabled", true);
   t.value="重新發送(" + wait + ")";
   wait--;
   setTimeout(function() {
    time(t)
   },
   1000)
  }
 }
 $(document).ready(function(){
 $("#btn").click( function () { 
 
time(this);
 });
});
</script>

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved