如何在Axure中使用“循環(huán)”
在使用Axure過程中,我們時常會用到循環(huán),但Axure RP并沒有內(nèi)置的循環(huán)功能,所以我們需要使用 Axure 的交互和變量功能來模擬循環(huán)。本文總結(jié)了如何在Axure中使用“循環(huán)”,希望對你有所啟發(fā)。
前言
在使用Axure的過程中,我們時常會需要用到循環(huán):
- 有的需要永久循環(huán)(例:時鐘)
- 有的需要固定循環(huán)N次(例:動態(tài)百分比進(jìn)度條)
- 有的循環(huán)還需要手動臨時暫停且可繼續(xù)(例:秒表)
- 有的需要多個循環(huán)嵌套(例:生成九九乘法表)
- 有的循環(huán)還要根據(jù)不同的條件循環(huán)不同的次數(shù)(例:密碼強(qiáng)度校驗(yàn))
而現(xiàn)實(shí)是: Axure RP并沒有內(nèi)置的循環(huán)功能,所以我們需要使用 Axure 的交互和變量功能來模擬循環(huán)。
一、原理
其實(shí)Axure循環(huán)的原理也非常簡單,主要分兩大類:
- 第一類就是使用“觸發(fā)事件”反復(fù)觸發(fā)同一個交互,優(yōu)點(diǎn)是方便,通常一個元件就可以搞定大功能。
- 第二類就是利用“動態(tài)面板”的“面板狀態(tài)改變時”,優(yōu)點(diǎn)是可以方便的啟動和停止循環(huán)。
當(dāng)然也有一些“另類”的方法,比如:利用中繼器。
反正能實(shí)現(xiàn)功能就是好方法。
二、時鐘(利用“觸發(fā)事件”)
最簡單的例子可能要屬做一個動態(tài)的實(shí)時數(shù)字時鐘了,這是一個永久循環(huán),簡單到只用一個“文本標(biāo)簽”就可以實(shí)現(xiàn):
“設(shè)置文本”那里,填入:
[[“0”.concat(Now.getHours()).substr(-2)]]:[[“0”.concat(Now.getMinutes()).substr(-2)]]:[[“0”.concat(Now.getSeconds()).substr(-2)]]
這就完成啦,是不是非常簡單?如果你需要在“載入時”完成其它操作而不想進(jìn)行循環(huán),也可以把循環(huán)體的內(nèi)容綁定到其他用不到的交互上:
將循環(huán)體獨(dú)立出來
同樣的,如果你有“時針、分針、秒針的UI設(shè)計”也可以做成模擬時鐘的樣子,說白了就是交互里多加入指針的旋轉(zhuǎn)。
二、秒表(利用“面板狀態(tài)改變時”)
目前中文Axure關(guān)于秒表幾乎都是用“定時+1”去實(shí)現(xiàn)的,這其中就有一個很大的問題,時間不準(zhǔn)?。?!當(dāng)頁面元件過多或者電腦性能不足時,真實(shí)世界過了好幾秒了原型才過1秒。
接下來教你怎樣做一個更“實(shí)時”的秒表,首先,我們添加兩個個全局變量:
- sw_timer默認(rèn)值為0
- sw_start默認(rèn)值空
然后拖出3個按鈕(啟動Start、暫停Pause、重置Reset),1個文本標(biāo)簽(用來顯示),1個動態(tài)面板(Loop用來循環(huán)):
動態(tài)面板建兩個空狀態(tài)
“動態(tài)面板Loop”的交互為:
“設(shè)置文本”那里填入:
[[“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”的交互為:
“復(fù)位Reset”的交互為:
雖然元件有點(diǎn)多,但是也不是很難對吧?這個秒表的原理是計算當(dāng)前時間和啟動時間的差,好處是準(zhǔn)確,就算電腦卡機(jī),下一次循環(huán)也會自動更正時間,再也不會出現(xiàn)慢幾拍的情況。
三、密碼強(qiáng)度校驗(yàn)(不定長文字循環(huán)判斷)
這個部分我單獨(dú)寫了一篇文章,《Axure中的密碼強(qiáng)度校驗(yàn)》。
小結(jié):
Axure的循環(huán)其實(shí)并不高深,想通了就非常容易。
本文由 @最I(lǐng)nのAxure 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!