建立自己的元件庫(二)——驗證碼

13 評論 12516 瀏覽 84 收藏 7 分鐘

筆者工作中會經常用到Axure,所以這篇文章距離上篇的時間間隔不會很長,而且以后也會持續更新,也希望有更快捷、簡便方法的朋友可以多提意見。

上篇文章:建立自己的元件庫(一)——輪播圖

實際上我們日常常用的元件往往都不是多難做的,但是若存下來卻會省下很多時間。今天筆者寫的就是一個比較簡單的元件——驗證碼。

功能描述:

點擊“發送驗證碼”按鈕,顯示“60s后重發”,然后一直切換,直到變回“發送驗證碼”字樣。

第一步:畫出對應的組件

在這里我們需要一個矩形作為文本框的外框、一個文本框、一個動態面板存放文字、一個“發送驗證碼”的按鈕。

1.畫一個矩形作為文本框的外邊框,圓角半徑設為8。大家都知道,Axure提供的文本框的外邊框并不這么美觀,為了好看我們可以自己畫一個,如下圖。

0

2.畫一個文本框,隱藏外邊框,在“提示文字”中輸入“請輸入驗證碼”,如下圖。

1

3.拖進一個動態面板,名稱“文字”,建立2個狀態,名稱分別為“發送”、“倒計時”,用來存放2個文字狀態,如下圖。

4.1

注意,狀態“倒計時”中的“60”是一個單獨的lable,名稱為“time”。(這里我為了看起來清晰,文本顏色設為黑色,后面改成了白色)

4.再拖進一個動態面板,名稱為“計時器”,建立2個狀態。這個動態面板使用來計時來改變秒數文字的。

5.畫一個按鈕,名稱為“按鈕”。

1)圓角半徑設為8,注意這個值是要與剛剛的矩形圓角半徑設為一樣的;

2)然后選擇左半邊為直角,右半邊為圓角即可,如下圖。

2

3)為“按鈕”矩形設置禁用樣式,如下圖。

5

6

4)選擇“文字”面板和“按鈕”矩形,組合,這不操作是為了方便后面添加點擊事件。

4.最后,調整位置,如下圖。

4

第二步:為按鈕添加事件——“鼠標單擊時”

此步驟要實現點擊按鈕后,改變文字,文字由“發送驗證碼”變為“60s后重新發送”,且按鈕在這60s中不可點擊。

1.設置按鈕為禁用狀態,如下圖。

7

2.切換“文字”動態面板狀態,如下圖。

9

3.設置“計時器”面板的狀態循環,如下圖。

10

第三步:改變“計時器”面板狀態來計時

此步驟要實現倒計時功能以及60s之后,按鈕變回“發送驗證碼”。此時需要分為倒計時過程中和倒計時結束2種情況。

1.為“計時器”面板添加事件——狀態改變時,添加全局變量“time”,設置默認值為60,如下圖。

11

2.為事件添加條件,當time>0時,即倒計時進行中要做什么——設置“time”Lable文字從60-0開始倒數。

1)添加條件,變量值“time”大于0。

13

2)設置time值等于[[time-1]],如下圖。

12

3)設置“time”文本等于變量值“time”,如下圖。

14

3.在“狀態改變時”中新建case2,此步驟實現time<0,即倒計時結束后要做什么,如下圖。

1)設置啟用“btn”矩形,如下圖。

15

2)設置“文字”面板狀態為“發送”,如下圖。

16

OK,大功告成,趕緊運行看看吧!

 

本文由 @ningmengsuan 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 您好,為什么我的計時器切換不了狀態呢?

    來自廣東 回復
  2. 大師 求原型 41598867@QQ.COM 萬分感謝

    來自廣東 回復
  3. 這個和第一篇比,簡直是看不懂,我真的服了,文不對頭

    來自浙江 回復
  4. 我是個小白,花了一下午,沒整明白 ?? ,求問從第二步開始,是怎么樣的思路,沒明白 ? 有其他簡便方法推薦嗎?

    來自上海 回復
  5. 您好,能分享下源文件么?

    來自北京 回復
  6. 確實有點不適合我這種小白 ??

    來自廣東 回復
  7. 第二步 畫一個文本框 是矩形么 可是并沒有右邊的什么隱藏邊框和提示文字啊 ?

    來自廣東 回復
  8. 跟著你的思路做好了怎么運行:-D

    回復
  9. 很不錯 ,但是我想說一下,AXURE版本沒有說明畢竟版本不同元件和樣式以及交互就不同; 方法多樣此方法比較復雜;重疊以及各種細節沒有說明清楚非常不利于新手(我就是);

    來自廣東 回復