亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS自動(dòng)倒計(jì)時(shí)30秒后按鈕才可用(兩種場(chǎng)景)

 更新時(shí)間:2015年08月31日 16:22:52   投稿:mrr  
在WEB程序開發(fā)中經(jīng)常會(huì)見(jiàn)到用倒計(jì)時(shí)限制用戶對(duì)表單的操作,希望用戶在規(guī)定的時(shí)間內(nèi)閱讀完協(xié)議信息才允許用戶繼續(xù)下一步操作,本文通過(guò)兩種場(chǎng)景分析js實(shí)現(xiàn)自動(dòng)倒計(jì)時(shí)30秒后按鈕才可用,小伙伴快來(lái)學(xué)習(xí)吧

展示效果圖:

WEB開發(fā)中經(jīng)常會(huì)用到倒計(jì)時(shí)來(lái)限制用戶對(duì)表單的操作,比如希望用戶在一定時(shí)間內(nèi)看完相關(guān)協(xié)議信息才允許用戶繼續(xù)下一步操作,又比如在收取手機(jī)驗(yàn)證碼時(shí)允許用戶在一定時(shí)間過(guò)后(未收到驗(yàn)證碼的情況下)再次獲取驗(yàn)證碼。那么今天我來(lái)給大家介紹下如何使用Javascript來(lái)實(shí)現(xiàn)這一簡(jiǎn)單應(yīng)用。

    查看演示 下載源碼

應(yīng)用場(chǎng)景1:用戶注冊(cè)時(shí)閱讀完相關(guān)協(xié)議信息后才能激活按鈕

某些網(wǎng)站注冊(cè)時(shí)要求用戶同意所謂的用戶協(xié)議之類的信息,如果協(xié)議內(nèi)容非常重要,有些網(wǎng)站會(huì)要求新注冊(cè)的用戶一定要閱讀完相關(guān)協(xié)議信息才能激活下一步按鈕提交表單。為了讓用戶能閱讀完協(xié)議信息(實(shí)際用戶有沒(méi)有真正閱讀咱不知道),開發(fā)者會(huì)設(shè)計(jì)一個(gè)倒計(jì)時(shí)比如30秒,30秒過(guò)后,表單提交按鈕才會(huì)激活生效,下面來(lái)看具體如何實(shí)現(xiàn)。

<form action="http://chabaoo.cn/" method="post" name="agree"> 
 <input type="submit" class="button" value="請(qǐng)認(rèn)真查看<服務(wù)條款和聲明> ()" name="agreeb"> 
</form> 

假設(shè)有上面這樣一個(gè)表單,表單的其他部分我們省略,只有一個(gè)提交按鈕,初始時(shí)按鈕不可用,當(dāng)顯示30秒倒計(jì)時(shí)結(jié)束后,按鈕就會(huì)顯示“我同意”,并且可以點(diǎn)擊激活。

我們用原生的js來(lái)實(shí)現(xiàn)這一效果:

<script> 
var secs = ; 
document.agree.agreeb.disabled=true; 
for(var i=;i<=secs;i++) { 
 window.setTimeout("update(" + i + ")", i * ); 
} 
function update(num) { 
 if(num == secs) { 
 document.agree.agreeb.value =" 我 同 意 "; 
 document.agree.agreeb.disabled=false; 
 } 
 else { 
 var printnr = secs-num; 
 document.agree.agreeb.value = "請(qǐng)認(rèn)真查看<服務(wù)條款和聲明> (" + printnr +")"; 
 } 
} 
</script> 

我們?cè)O(shè)置時(shí)間為30秒,當(dāng)然你也可以設(shè)置你想要的時(shí)間,將按鈕禁用,也就是不可點(diǎn)擊,然后循環(huán)30秒,通過(guò)window.setTimeout調(diào)用update()函數(shù),將當(dāng)前秒與倒計(jì)時(shí)對(duì)比,如果已經(jīng)倒計(jì)時(shí)完成則顯示“我同意”,并激活按鈕。

應(yīng)用場(chǎng)景2:用戶激活短信通道向用戶手機(jī)發(fā)送驗(yàn)證碼短信以驗(yàn)明正身

很多網(wǎng)站在驗(yàn)證用戶身份的時(shí)候需要提高用戶信息的安全性,這樣就會(huì)與用戶手機(jī)綁定,于是就會(huì)向用戶手機(jī)發(fā)送驗(yàn)證碼信息,如果用戶填寫了正確的驗(yàn)證碼提交后臺(tái),那么操作才會(huì)成功。而發(fā)送驗(yàn)證碼也可能由于各種原因有發(fā)送不成功的情況,又不能讓用戶不停點(diǎn)擊發(fā)送。如此開發(fā)者使用倒計(jì)時(shí)來(lái)處理這類問(wèn)題,用戶激活短信后,如果30秒后未收到驗(yàn)證碼短信則可以再允許點(diǎn)擊發(fā)送短信。

<form action="http://chabaoo.cn/" method="post" name="myform"> 
 <input type="button" class="button" value="獲取手機(jī)驗(yàn)證碼" name="phone" onclick="showtime()"> 
</form> 

上面的表單在按鈕上添加了一個(gè)onclick事件,調(diào)用了showtime()函數(shù)。

<script> 
function showtime(t){ 
 document.myform.phone.disabled=true; 
 for(i=;i<=t;i++) { 
 window.setTimeout("update_p(" + i + ","+t+")", i * ); 
 } 
 
} 
function update_p(num,t) { 
 if(num == t) { 
 document.myform.phone.value =" 重新發(fā)送 "; 
 document.myform.phone.disabled=false; 
 } 
 else { 
 printnr = t-num; 
 document.myform.phone.value = " (" + printnr +")秒后重新發(fā)送"; 
 } 
} 
</script> 

和場(chǎng)景1一樣,當(dāng)點(diǎn)擊按鈕后,按鈕狀態(tài)為禁用,通過(guò)調(diào)用window.setTimeoutupdate_p()顯示倒計(jì)時(shí),當(dāng)?shù)褂?jì)時(shí)完成后,按鈕顯示“重新發(fā)送”,這時(shí)按鈕狀態(tài)為可用。

以上通過(guò)兩種場(chǎng)景給大家展示了js實(shí)現(xiàn)自動(dòng)倒計(jì)時(shí)30秒后按鈕才可用,希望對(duì)大家有所幫助。

相關(guān)文章

  • JavaScript中常見(jiàn)陷阱小結(jié)

    JavaScript中常見(jiàn)陷阱小結(jié)

    JavaScript中常見(jiàn)陷阱,都是一些實(shí)際應(yīng)用中,需要注意的地方,需要的朋友可以參考下。
    2010-04-04
  • 詳解JavaScript設(shè)計(jì)模式中的享元模式

    詳解JavaScript設(shè)計(jì)模式中的享元模式

    享元模式是一種用于性能優(yōu)化的模式。享元模式的核心是運(yùn)用共享技術(shù)來(lái)有效支持大量細(xì)粒度的對(duì)象.如果系統(tǒng)中創(chuàng)建了大量類似的對(duì)象而導(dǎo)致內(nèi)存占用過(guò)高,本文通過(guò)介紹書中文件上傳的優(yōu)化案例來(lái)說(shuō)明享元模式的使用方式和作用,需要的朋友可以參考下
    2023-06-06
  • 淺談Webpack自動(dòng)化構(gòu)建實(shí)踐指南

    淺談Webpack自動(dòng)化構(gòu)建實(shí)踐指南

    本篇文章主要介紹了Webpack自動(dòng)化構(gòu)建實(shí)踐指南,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Js得到radiobuttonlist選中值的兩種方法(推薦)

    Js得到radiobuttonlist選中值的兩種方法(推薦)

    下面小編就為大家?guī)?lái)一篇Js得到radiobuttonlist選中值的兩種方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-08-08
  • 解決layui的使用以及針對(duì)select、radio等表單組件不顯示的問(wèn)題

    解決layui的使用以及針對(duì)select、radio等表單組件不顯示的問(wèn)題

    今天小編就為大家分享一篇解決layui的使用以及針對(duì)select、radio等表單組件不顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • JS邏輯運(yùn)算符短路操作實(shí)例分析

    JS邏輯運(yùn)算符短路操作實(shí)例分析

    這篇文章主要介紹了JS邏輯運(yùn)算符短路操作,結(jié)合實(shí)例形式分析了javascript三個(gè)邏輯運(yùn)算符短路操作的原理與使用技巧,需要的朋友可以參考下
    2018-07-07
  • JavaScript中Number的對(duì)象解析

    JavaScript中Number的對(duì)象解析

    這篇文章主要介紹了JavaScript中Number的對(duì)象解析,Number對(duì)象是數(shù)值對(duì)應(yīng)的包裝對(duì)象,可以作為構(gòu)造函數(shù)使用,也可以作為工具函數(shù)使用,感興趣的朋友可以參考一下下面文章內(nèi)容
    2022-08-08
  • JavaScript AJAX之惰性載入函數(shù)

    JavaScript AJAX之惰性載入函數(shù)

    這篇文章主要介紹了JavaScript AJAX之惰性載入函數(shù),惰性載入表示函數(shù)執(zhí)行的分支僅會(huì)發(fā)生1次,是種JS的優(yōu)化技巧,需要的朋友可以參考下
    2014-08-08
  • egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例

    egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例

    這篇文章主要介紹了egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Bootstrap零基礎(chǔ)入門教程(三)

    Bootstrap零基礎(chǔ)入門教程(三)

    Bootstrap 是一個(gè)用于快速開發(fā) Web 應(yīng)用程序和網(wǎng)站的前端框架。本文重點(diǎn)給大家介紹Bootstrap零基礎(chǔ)入門教程(三) ,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-07-07

最新評(píng)論