Axure教程:短信驗(yàn)證碼實(shí)現(xiàn)倒計(jì)時(shí)
編輯導(dǎo)讀:本文跟大家分享,如何用Axure實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)效果,作者從預(yù)覽圖,到所需基本原件,再到操作步驟都一一展開了分析,并對(duì)過程中需要注意的問題進(jìn)行了介紹,希望對(duì)你有所啟發(fā)。
這個(gè)是新用戶注冊(cè)交互,使用到了驗(yàn)證碼倒計(jì)時(shí),本文只針對(duì)驗(yàn)證碼倒計(jì)時(shí)功能做解釋,不對(duì)用戶名填寫完整進(jìn)行判斷,如下圖:
圖1
其中隱藏了動(dòng)態(tài)面板來(lái)回切換的狀態(tài),為了進(jìn)行驗(yàn)證碼秒數(shù)遞減,如下圖2:
圖2
01 基本元件
1、文本標(biāo)簽*2
2、動(dòng)態(tài)面板*1(2個(gè)狀態(tài)命名為:圓形;矩形)
3、倒計(jì)時(shí)按鈕*1
思路:
1、實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)要用到函數(shù)[[Math.random()]]、[[Math.exp()]]和[[substring(from,to)]]
[[Math.random()]]這個(gè)函數(shù)會(huì)隨機(jī)取0~1之間的數(shù)字,具體取小數(shù)點(diǎn)幾位,網(wǎng)上沒有說(shuō)明,我這里試了一下取得位數(shù)大致在15-18位之間,這個(gè)影響不大;
[[Math.exp(x)]]是獲取一個(gè)數(shù)值的指數(shù),例[[Math.exp(2)]]:表示e的2次方的數(shù)值;
[[substring(from,to)]]是取截止的字符串的,例[[V.substring(2,7)]],其中V=2343242342:表示截取的數(shù)值為432423;
這里針對(duì)隨機(jī)生成6位數(shù)字驗(yàn)證碼做詳細(xì)說(shuō)明,后面對(duì)函數(shù)就一概而過了
這里取驗(yàn)證碼就是上面三個(gè)函數(shù)來(lái)生成,可能有更簡(jiǎn)單的方法,我之前也用兩個(gè)函數(shù)試過,但是總會(huì)出現(xiàn)bug,由于?[[Math.random()]]函數(shù)可能取得非常小,如:0.00000211,就會(huì)出現(xiàn)驗(yàn)證碼生成不是六位,為此嘗試了很多,最終為了100%生成隨機(jī)6位數(shù)就用了3個(gè)函數(shù)組合:[[(Math.exp(Math.random())*1000000).substring(1,7)]],表示:隨機(jī)取一數(shù)值的指數(shù)函數(shù)*1000000的數(shù)值,然后截取數(shù)值的第1位到第7位。這里乘以1000000是為了去除小數(shù)點(diǎn);
2、點(diǎn)擊驗(yàn)證碼后要顯示倒計(jì)時(shí),這里的倒計(jì)時(shí)要利用動(dòng)態(tài)面板來(lái)回轉(zhuǎn)換顯示秒數(shù),如上圖2;
02 詳細(xì)添加交互(只針對(duì)驗(yàn)證碼倒計(jì)時(shí)功能做解釋,不對(duì)用戶名填寫完整進(jìn)行判斷)
1、添加按鈕,修改名稱:驗(yàn)證碼,(設(shè)置交互樣式:禁用時(shí)-填充灰色)
2、拖入2個(gè)文本標(biāo)簽(一個(gè)命名:顯示文本;另一個(gè)命名:s(設(shè)置為隱藏))
3、添加動(dòng)態(tài)面板(命名為:簡(jiǎn)約驗(yàn)證碼)
4、驗(yàn)證碼添加動(dòng)作:?jiǎn)螕魰r(shí)-設(shè)置變量值-禁用-等待-顯示-設(shè)置文本,如下圖:
4.1 設(shè)置變量值(這個(gè)是全局變量,好處是可以根據(jù)需要更改驗(yàn)證碼的倒計(jì)時(shí)的時(shí)長(zhǎng))
4.2 在設(shè)置面板狀態(tài)(下一項(xiàng)-向后循環(huán)-循環(huán)間隔1000s(為了實(shí)現(xiàn)驗(yàn)證碼數(shù)值遞減))
4.3 在禁用驗(yàn)證碼-等待1000s-顯示s(在這里隱藏了一個(gè)文本,秒s)
4.4 設(shè)置文本
就是前面提到的函數(shù)[[(Math.exp(Math.random())*1000000).substring(1,7)]]
03 動(dòng)態(tài)面板添加動(dòng)作
動(dòng)態(tài)面板的動(dòng)作為了判斷要不要停止循環(huán),這里不做多解釋。
本文由 @鑫小包 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自?Unsplash,基于 CC0 協(xié)議
這個(gè)axure是哪個(gè)版本,很多設(shè)置都找不到
axure rp 9