微信小程序項(xiàng)目實(shí)踐之驗(yàn)證碼倒計(jì)時(shí)功能
效果如下:點(diǎn)擊發(fā)送驗(yàn)證碼按鈕,按鈕背景變色,不可點(diǎn)擊,顯示倒計(jì)時(shí)文字

首先js文件的data里面 聲明一個(gè)變量用于表示當(dāng)前是否可以點(diǎn)擊,codeIsCanClick = true, 默認(rèn)是可以點(diǎn)擊的
寫下界面代碼:
wxml文件中
<view class='centerRow'>
<view class='inputLabel'>動(dòng)態(tài)碼:</view>
<input class='inputStyle' style="flex:1 " bindinput="bindKeyInput" placeholder="短信動(dòng)態(tài)碼" adjust-position='false' confirm-type='search'></input>
<button class="emailCode" hidden='{{!codeIsCanClick}}' size="mini" bindtap='clickCode'>獲取動(dòng)態(tài)碼</button>
<button class="emailCodeSend" hidden='{{codeIsCanClick}}' size="mini">{{last_time}}秒后重新發(fā)送</button>
</view>
對應(yīng)樣式 wxss文件:
.centerRow{
display: flex;
flex-direction: row;
align-items: center;
height: 44px;
padding-left: 16px;
padding-right: 16px;
border-bottom: 1rpx solid #D9D9D9;
border-top: 1rpx solid #D9D9D9;
}
.inputStyle{
border-radius:4px;
color:#D9D9D9;
outline:0;
padding-left: 4px;
margin-left: 4px;
margin-right: 20rpx;
font-size: 14px;
}
.inputLabel{
font-size: 16px;
color: #33496D;
width: 90px;
}
.emailCode{
width: 118px;
height: 28px;
align-items: center;
justify-content: center;
display: flex;
flex-direction: row;
color:white;
font-size: 14px;
background-color: #50A2EC;
border-radius: 14px;
}
.emailCodeSend{
width: 118px;
height: 28px;
align-items: center;
justify-content: center;
display: flex;
flex-direction: row;
color:white;
font-size: 14px;
background-color: #B9DAF7;
border-radius: 14px;
}
以上構(gòu)成頁面靜態(tài)效果。
注意button有兩個(gè),分別對應(yīng)的未點(diǎn)擊和點(diǎn)擊下的按鈕樣子,用js中的CodeIsCanClick控制顯示隱藏
然后在js中寫邏輯代碼:
// 倒計(jì)時(shí)事件 單位s
var countdown = 10;
var settime = function (that) {
if (countdown == 0) {
that.setData({
codeIsCanClick: true
})
countdown = 10;
return;
} else {
that.setData({
codeIsCanClick: false,
last_time: countdown
})
countdown--;
}
setTimeout(function () {
settime(that)
}, 1000
)
}
Page({
/**
* 頁面的初始數(shù)據(jù)
*/
data: {
codeIsCanClick: true
},
/**
* 點(diǎn)擊驗(yàn)證碼按鈕
*/
clickCode: function () {
var that = this;
settime(that)
},
總結(jié)
以上所述是小編給大家介紹的微信小程序項(xiàng)目實(shí)踐之驗(yàn)證碼倒計(jì)時(shí)功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- 微信小程序?qū)崿F(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)
- 微信小程序?qū)崿F(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果
- 微信小程序?qū)崿F(xiàn)驗(yàn)證碼倒計(jì)時(shí)
- 微信小程序?qū)崿F(xiàn)手機(jī)獲取驗(yàn)證碼倒計(jì)時(shí)60s
- 微信小程序?qū)崿F(xiàn)發(fā)送短信驗(yàn)證碼倒計(jì)時(shí)
- 微信小程序的注冊頁面包含倒計(jì)時(shí)驗(yàn)證碼、獲取用戶信息
- 微信小程序?qū)崿F(xiàn)驗(yàn)證碼獲取倒計(jì)時(shí)效果
- 微信小程序?qū)崿F(xiàn)倒計(jì)時(shí)60s獲取驗(yàn)證碼
- 小程序?qū)崿F(xiàn)簡單驗(yàn)證碼倒計(jì)時(shí)
相關(guān)文章
基于JavaScript實(shí)現(xiàn)留言板功能
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)留言板功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
微信小程序手機(jī)號驗(yàn)證碼登錄的項(xiàng)目實(shí)現(xiàn)
本文主要介紹了微信小程序手機(jī)號驗(yàn)證碼登錄的項(xiàng)目實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
用js實(shí)現(xiàn)下載遠(yuǎn)程文件并保存在本地的腳本
//將常用的vbs下載者改成js版了。本來想用jsc.exe編譯,可是不成功。jsc.exe不認(rèn)WScript2008-05-05
JS實(shí)現(xiàn)獲取自定義屬性data值的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)獲取自定義屬性data值的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript針對自定義屬性data的相關(guān)操作技巧,需要的朋友可以參考下2018-12-12
JavaScript 函數(shù)參數(shù)是傳值(byVal)還是傳址(byRef) 分享
這篇文章主要介紹了在JS中函數(shù)參數(shù)是傳值(byVal)還是傳址(byRef)的誤區(qū)我們通過實(shí)例說明一下,有需要的朋友可以參考2013-07-07

