如何在Axure中使用“循環”

0 評論 4103 瀏覽 10 收藏 7 分鐘

在使用Axure過程中,我們時常會用到循環,但Axure RP并沒有內置的循環功能,所以我們需要使用 Axure 的交互和變量功能來模擬循環。本文總結了如何在Axure中使用“循環”,希望對你有所啟發。

前言

在使用Axure的過程中,我們時常會需要用到循環:

  • 有的需要永久循環(例:時鐘)
  • 有的需要固定循環N次(例:動態百分比進度條)
  • 有的循環還需要手動臨時暫停且可繼續(例:秒表)
  • 有的需要多個循環嵌套(例:生成九九乘法表)
  • 有的循環還要根據不同的條件循環不同的次數(例:密碼強度校驗)

而現實是: Axure RP并沒有內置的循環功能,所以我們需要使用 Axure 的交互和變量功能來模擬循環。

一、原理

其實Axure循環的原理也非常簡單,主要分兩大類:

  1. 第一類就是使用“觸發事件”反復觸發同一個交互,優點是方便,通常一個元件就可以搞定大功能。
  2. 第二類就是利用“動態面板”的“面板狀態改變時”,優點是可以方便的啟動和停止循環。

當然也有一些“另類”的方法,比如:利用中繼器。

反正能實現功能就是好方法。

二、時鐘(利用“觸發事件”)

最簡單的例子可能要屬做一個動態的實時數字時鐘了,這是一個永久循環,簡單到只用一個“文本標簽”就可以實現:

文字內容和樣式依個人喜好定制交互也非常簡單,只使用一個“載入時”就夠了。

“設置文本”那里,填入:

[[“0”.concat(Now.getHours()).substr(-2)]]:[[“0”.concat(Now.getMinutes()).substr(-2)]]:[[“0”.concat(Now.getSeconds()).substr(-2)]]

這就完成啦,是不是非常簡單?如果你需要在“載入時”完成其它操作而不想進行循環,也可以把循環體的內容綁定到其他用不到的交互上:

將循環體獨立出來

同樣的,如果你有“時針、分針、秒針的UI設計”也可以做成模擬時鐘的樣子,說白了就是交互里多加入指針的旋轉。

二、秒表(利用“面板狀態改變時”)

目前中文Axure關于秒表幾乎都是用“定時+1”去實現的,這其中就有一個很大的問題,時間不準?。?!當頁面元件過多或者電腦性能不足時,真實世界過了好幾秒了原型才過1秒。

接下來教你怎樣做一個更“實時”的秒表,首先,我們添加兩個個全局變量:

  1. sw_timer默認值為0
  2. sw_start默認值空

然后拖出3個按鈕(啟動Start、暫停Pause、重置Reset),1個文本標簽(用來顯示),1個動態面板(Loop用來循環):

動態面板建兩個空狀態

“動態面板Loop”的交互為:

“設置文本”那里填入:

[[“0”.concat(Math.floor(sw_timer/60000)).substr(-2)]]:[[“0”.concat(Math.floor(sw_timer/1000)%60).substr(-2)]].[[“00”.concat(Math.floor(sw_timer%1000)).substr(-3)]]

“啟動Start”按鈕的交互為:

“暫停Pause”的交互為:

“復位Reset”的交互為:

雖然元件有點多,但是也不是很難對吧?這個秒表的原理是計算當前時間啟動時間的差,好處是準確,就算電腦卡機,下一次循環也會自動更正時間,再也不會出現慢幾拍的情況。

三、密碼強度校驗(不定長文字循環判斷)

這個部分我單獨寫了一篇文章,《Axure中的密碼強度校驗》。

小結:

Axure的循環其實并不高深,想通了就非常容易。

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

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!