js程式碼實作點擊按鈕出現60秒倒數_javascript技巧
例如,一些網站上的手機簡訊認證的功能,有類似實現點擊按鈕後,倒數60秒才能再次點擊發送的效果。
此範例用Javascript實作點選按鈕後,倒數60秒才能再點選發送驗證碼的功能。
範例1:Javascript 實作 點擊按鈕 倒數60秒方可再點擊發送的效果
<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>
範例2:點擊按鈕出現60秒倒數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>
範例3:點擊按鈕後,60秒倒數計時後才能繼續可以點擊,按鈕上還能顯示倒數
預想的效果圖:
這是微信公眾平台上的程式碼
function E() { var e = $("#mobile"), t = (new Date).getTime(), n = Math.floor((t - b) / 1e3); g && clearTimeout(g), n >= 60 ? (e.prop("readonly", !1), y = !0, $("#sendmobile").html("发送验证码").attr("disabled", !1).removeClass("btn_disabled")) : (e.prop("readonly", !0), y = !1, $("#sendmobile").attr("disabled", !0).addClass("btn_disabled").html("%s秒后可重发".sprintf(60 - n)), g = setTimeout(E, 1e3)); } function S() { function e() { if (!y) return; var e = $.trim(n.val()); l.mobile(e) ? t.attr("disabled", !1).removeClass("btn_disabled") : t.attr("disabled", !0).addClass("btn_disabled"); } var t = $("#sendmobile"), n = $("#mobile"); n.keyup(e).blur(e), e(), t.click(function() { var e; t.attr("disabled") !== "disabled" && (e = "+86" + $.trim(n.val()), b = (new Date).getTime(), E(), o.post({ url: w ? "/cgi-bin/formbyskey" : "/acct/formbyticket", data: { form: "mobile", action: "set", f: "json", mobile: e }, mask: !1 }, function(e) { var t = e.BaseResp.Ret; if (t == 0) u.suc("验证码已经发送"); else { switch (t) { case -13: u.err("登录超时,请重新登录"); break; case -35: u.err("该手机已经登记过2次,请使用别的手机号进行用户信息登记"); break; default: u.err("验证码发送失败"); } b = 0; } })); }); }
這段程式碼小編就是不知道怎麼才能呼叫到自己的程式碼上來,經過高人指點有了一些頭尋。
高人的解題思路:如果嚴格的話,這個還要結合後台獲取時間的,要不然別人刷新一下就行了。
若不嚴格,且使用個cookie也可使用。
<script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> <script src="http://yukon12345.com/yukon12345.com/js/jquery.cookie.js"></script> <script> time1=$.cookie("time1")||60; time2=$.cookie("time2")||60; dis1=$.cookie("dis1") dis2=$.cookie("dis2") function countDown($obj){ var time; if($obj.attr("id")=="b1") { time=--time1; $.cookie("time1",time,{"expires":1}); if(time<=0){ time1=60; $obj[0].disabled=!$obj[0].disabled clearInterval(inter1) $obj.text("点击发送") $.cookie("dis1","") return } } if($obj.attr("id")=="b2") { time=--time2; $.cookie("time2",time,{"expires":1}); if(time<=0){ time1=60; $obj[0].disabled=!$obj[0].disabled clearInterval(inter2) $obj.text("点击发送") $.cookie("dis2","") return } } $obj.text(time+"秒后重新发送") } $(function(){ if(dis1="dis"){ $("#b1")[0].disabled='disabled' inter1=setInterval(function(){countDown($("#b1"))},1000) } if(dis2="dis"){ $("#b2")[0].disabled='disabled' inter2=setInterval(function(){countDown($("#b2"))},1000) } $(".cd").bind("click",function(){ $this=$(this); //没有被禁用时禁用并执行倒计时 if(!$this[0].disabled){ $this[0].disabled='disabled'; if($this.attr("id")=="b1"){ $.cookie("dis1","dis",{"expires":1}) inter1=setInterval(function(){countDown($this)},1000) } if($this.attr("id")=="b2"){ $.cookie("dis2","dis",{"expires":1}) inter2=setInterval(function(){countDown($this)},1000) } } }) }) </script> <button id="b1" class="cd" >点击发送</button><br> <button id="b2" class="cd" >点击发送</button><br>
大家透過這三個例子講解有沒有點思路了,那就動手實現一下吧,希望對大家學習javascript程式設計有所幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

C++是一種廣泛使用的程式語言,在編寫倒數計時器方面非常方便且實用。倒數計時程式是一種常見的應用,它能為我們提供非常精確的時間計算和倒數功能。本文將介紹如何使用C++來寫一個簡單的倒數計時程式。實現倒數程序的關鍵就是使用計時器來計算時間的流逝。在C++中,我們可以使用time.h頭檔中的函數來實作計時器的功能。下面是一個簡單的倒數計時程式的程式碼

如何使用JS和百度地圖實現地圖平移功能百度地圖是一款廣泛使用的地圖服務平台,在Web開發中經常用於展示地理資訊、定位等功能。本文將介紹如何使用JS和百度地圖API實作地圖平移功能,並提供具體的程式碼範例。一、準備工作使用百度地圖API前,首先需要在百度地圖開放平台(http://lbsyun.baidu.com/)上申請一個開發者帳號,並建立一個應用程式。創建完成

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟,需要具體程式碼範例隨著網路和科技的快速發展,股票交易已成為許多投資者的重要途徑之一。而股票分析是投資人決策的重要一環,其中蠟燭圖被廣泛應用於技術分析。學習如何使用PHP和JS繪製蠟燭圖將為投資者提供更多直觀的信息,幫助他們更好地做出決策。蠟燭圖是一種以蠟燭形狀來展示股票價格的技術圖表。它展示了股票價格的

如何使用PHP和JS創建股票蠟燭圖股票蠟燭圖是股票市場中常見的技術分析圖形,透過繪製股票的開盤價、收盤價、最高價和最低價等數據,幫助投資者更直觀地了解股票的價格波動情形。本文將教你如何使用PHP和JS創建股票蠟燭圖,並附上具體的程式碼範例。一、準備工作在開始之前,我們需要準備以下環境:1.一台運行PHP的伺服器2.一個支援HTML5和Canvas的瀏覽器3

如何使用JS和百度地圖實現地圖熱力圖功能簡介:隨著互聯網和行動裝置的快速發展,地圖成為了普遍的應用場景。而熱力圖作為一種視覺化的展示方式,能夠幫助我們更直觀地了解數據的分佈。本文將介紹如何使用JS和百度地圖API來實現地圖熱力圖的功能,並提供具體的程式碼範例。準備工作:在開始之前,你需要準備以下事項:一個百度開發者帳號,並建立一個應用,取得到對應的AP

如何使用JS和百度地圖實現地圖點擊事件處理功能概述:在網路開發中,經常需要使用地圖功能來展示地理位置和地理資訊。而地圖上的點擊事件處理是地圖功能中常用且重要的一環。本文將介紹如何使用JS和百度地圖API來實現地圖的點擊事件處理功能,並給出具體的程式碼範例。步驟:匯入百度地圖的API檔案首先,要在HTML檔案中匯入百度地圖API的文件,可以透過以下程式碼實現:

隨著網路金融的快速發展,股票投資已經成為了越來越多人的選擇。而在股票交易中,蠟燭圖是常用的技術分析方法,它能夠顯示股票價格的變動趨勢,幫助投資人做出更精準的決策。本文將透過介紹PHP和JS的開發技巧,帶領讀者了解如何繪製股票蠟燭圖,並提供具體的程式碼範例。一、了解股票蠟燭圖在介紹如何繪製股票蠟燭圖之前,我們首先需要先了解什麼是蠟燭圖。蠟燭圖是由日本人
