jquery實現的按鈕點選後60秒後才能夠再點選
這種情況大家可能都遇到過,就是想註冊個賬號或者更改業務的時候,可能需要你點選按鈕傳送一個驗證碼。
當點選以後,這個點選按鈕就會變成灰色不可用的狀態,需要等待一定的時間才可以繼續點選第二次。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Examples</title> <meta name="description" content=""> <meta name="keywords" content=""> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script src="jquery.cookie.js" ></script> <style type="text/css"> *{ margin:0; padding:0; font-family:"Microsoft Yahei"; } .captcha-box{ width:360px; height:34px; margin:30px; padding:30px; border:#956E6F 1px dashed; border-radius:5px; background-color:#FAF2F2; } #mobile { float:left; width:180px; height:32px; border:#e5e5e5 1px solid; line-height:32px; text-indent:8px; outline:none; } #getting{ float:left; height:34px; margin-left:-1px; padding:0 18px; text-align:center; line-height:34px; border #e5e5e5 1px solid; background:linear-gradient(0deg, #f4f2f2 0%, #fbf9f9 100%); cursor:pointer; outline:none; } </style> <script> $(function(){ /*仿重新整理:檢測是否存在cookie*/ if($.cookie("captcha")){ var count = $.cookie("captcha"); var btn = $('#getting'); btn.val(count+'秒後可重新獲取').attr('disabled',true).css('cursor','not-allowed'); var resend = setInterval(function(){ count--; if (count > 0){ btn.val(count+'秒後可重新獲取').attr('disabled',true).css('cursor','not-allowed'); $.cookie("captcha", count, {path: '/', expires: (1/86400)*count}); } else { clearInterval(resend); btn.val("獲取驗證碼").removeClass('disabled').removeAttr('disabled style'); } }, 1000); } /*點選改變按鈕狀態,已經簡略掉ajax傳送簡訊驗證的程式碼*/ $('#getting').click(function(){ var btn = $(this); var count = 60; var resend = setInterval(function(){ count--; if (count > 0){ btn.val(count+"秒後可重新獲取"); $.cookie("captcha", count, {path: '/', expires: (1/86400)*count}); }else { clearInterval(resend); btn.val("獲取驗證碼").removeAttr('disabled style'); } }, 1000); btn.attr('disabled',true).css('cursor','not-allowed'); }); }); </script> </head> <body> <div class="captcha-box"> <input type="text" id="mobile" maxlength="11" placeholder="請輸入手機號碼"> <input type="button" id="getting" value="獲取驗證碼"> </div> </body> </html>
上面的程式碼使用了cookie,主要是為了防止重新整理網頁就可以規避時間限制,實現再一次點選的效果。
程式碼必須在伺服器環境下執行才會有防止重新整理的效果。
操作cookie的檔案下載地址是http://plugins.jquery.com/cookie/
相關文章
- 點選回車實現按鈕點選功能
- ajax實現的點選按鈕能夠實現數字加1功能
- javascript實現的按鈕間隔指定時間再能點選JavaScript
- 刪除按鈕點選後的虛線輪廓
- jQuery點選按鈕刪除div元素jQuery
- Vue實現點選按鈕進行檔案下載(後端Java)Vue後端Java
- js按鈕點選後需要倒數計時才能可能用程式碼例項JS
- 如何點選一個按鈕實現列印
- 點選按鈕實現數字增加效果
- js實現的按鈕不用人為點選就觸發點選事件JS事件
- jquery判斷按鈕是否被點選過jQuery
- 點選AndroidStudio的build按鈕後發生了什麼AndroidUI
- 點選按鈕實現狀態切換效果
- 點選按鈕實現圖片切換效果
- jQuery點選按鈕實現div的隱藏和顯示切換效果jQuery
- jquery點選按鈕顯示和隱藏DIvjQuery
- js實現的按鈕響應點選回車事件JS事件
- 點選按鈕實現div的顯示和隱藏
- 點選瀏覽器後退按鈕時彈出提示資訊瀏覽器
- 基於js實現點選按鈕回到頂部JS
- 點選按鈕實現文字放大和縮小功能
- JavaScript 點選按鈕返回底部JavaScript
- MUI – IOS系統,相簿選擇照片後,點選確定按鈕無反應UIiOS
- jquery實現的點選按鈕改變可用狀態和顯示文字程式碼jQuery
- 快速搭建直播平臺,點選按鈕(Button)後改變顏色
- js表單提交後提交按鈕不可點選程式碼例項JS
- element ui switch開關 點選按鈕後,彈窗確認再改變開關狀態UI
- 瀏覽器歷史,判斷是點選了後退按鈕還是前進按鈕瀏覽器
- jquery 實現 點選按鈕後倒數計時效果,多用於實現傳送手機驗證碼、郵箱驗證碼jQuery
- 直播app系統原始碼,canvas上放置按鈕並實現點選之後全屏顯示APP原始碼Canvas
- Android--按鈕點選事件Android事件
- Android 點選按鈕跳轉Android
- 防止頁面按鈕多次點選
- javascript實現的點選不同提交按鈕實現提交到不同頁面JavaScript
- 點選按鈕,實現檔案下載,通過按鈕傳送url,spring後臺實現伺服器端檔案下載。Spring伺服器
- 移動端模擬hover:按鈕點選變色之後還原
- 點選按鈕之後將其設定為不可用狀態
- 如何點選提交之後將按鈕設定為灰色不可用