個(gè)原型是作者根據(jù)上一篇文章《Axure教程:獲取驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)》,發(fā)散思維想到去做的一個(gè)原型案例,在這里分享出來(lái),希望可以幫助到一樣剛起步的產(chǎn)品小白。
如果該教程較難,建議先觀看我做的第一個(gè)倒計(jì)時(shí)(簡(jiǎn)單版),操作步驟更為詳細(xì):http://www.woshipm.com/rp/3133460.html。
開門見山,我們先來(lái)看看效果↓
預(yù)覽圖:
預(yù)覽網(wǎng)址:https://jxvo3f.axshare.com
一個(gè)命名為“觸發(fā)器”的動(dòng)態(tài)面板(兩個(gè)面板狀態(tài))、一個(gè)命名為“秒”的矩形,并填入文字“10”、一個(gè)命名為“分”的矩形,并填入文字“01”、一個(gè)命名為“時(shí)”的矩形,并填入文字“01”、兩個(gè)“:”矩形、一個(gè)填充色為黃色的背景矩形。
(1)設(shè)置動(dòng)態(tài)面板交互——載入時(shí)
這個(gè)交互的作用是一直觸發(fā)動(dòng)態(tài)面板的下一個(gè)交互——狀態(tài)改變時(shí)。
(2)設(shè)置動(dòng)態(tài)面板第二個(gè)交互——狀態(tài)改變時(shí)(Case 1)
這里就不列舉詳細(xì)操作步驟了,較為詳細(xì)的步驟就在我的開頭的文章里面有介紹。
Case1的作用是:“當(dāng)“秒”矩形內(nèi)的數(shù)值大于0時(shí)則自減1”。
(3)設(shè)置動(dòng)態(tài)面板第三個(gè)交互——狀態(tài)改變時(shí)(Case 2)
Case2里多了一個(gè)條件,那么Axure如何設(shè)置多個(gè)條件呢?只需要在“編輯條件”里面再點(diǎn)擊一下紅圈里面的加號(hào)即可添加多一個(gè)條件了。
Case2的作用是:“當(dāng)“秒”矩形內(nèi)數(shù)值為0時(shí),“分”矩形內(nèi)數(shù)值減1,“秒”矩形內(nèi)數(shù)值設(shè)為59”。
(4)設(shè)置動(dòng)態(tài)面板第四個(gè)交互——狀態(tài)改變時(shí)(Case 3)
Case3的作用是:“當(dāng)“秒”矩形內(nèi)數(shù)值為0且“分”矩形內(nèi)數(shù)值也為0時(shí),則“時(shí)”矩形內(nèi)數(shù)值減1,且“分”矩形數(shù)值設(shè)為59,“秒”矩形數(shù)值設(shè)為59”
(5)大功告成,按F5預(yù)覽看看效果
(1)如果預(yù)覽時(shí)覺(jué)得看數(shù)值變化太慢了,可以把動(dòng)態(tài)面板的交互——載入時(shí)的循環(huán)間隔時(shí)間設(shè)置為1ms。
(2)這個(gè)原型有一個(gè)缺陷,就是當(dāng)?shù)褂?jì)時(shí)倒數(shù)到個(gè)位數(shù)時(shí),無(wú)法顯示為“09、08、07”這樣子,在個(gè)位數(shù)前面補(bǔ)0,當(dāng)然簡(jiǎn)單的替換方案就是在“時(shí)”“分”“秒”矩形前面加一個(gè)隱藏的0,并設(shè)置顯示時(shí)的條件為:“當(dāng)“時(shí)”“分”“秒”矩形內(nèi)的數(shù)值低于10時(shí)顯示并在大于10時(shí)隱藏即可”。但是如何通過(guò)函數(shù)實(shí)現(xiàn),期望有大佬可以來(lái)講解一下。
(3)該原型的適用場(chǎng)景有很多,比如說(shuō)現(xiàn)在許多商城的限時(shí)搶購(gòu)都會(huì)用到時(shí)分秒的倒計(jì)時(shí)。學(xué)會(huì)了就可以應(yīng)用在這些場(chǎng)景里面了(??????)??
(4)正式使用時(shí),記得要將僅僅用來(lái)實(shí)現(xiàn)倒計(jì)時(shí)功能的動(dòng)態(tài)面板隱藏掉。這里我為了展示效果所以沒(méi)有隱藏。
(5)這個(gè)原型是根據(jù)我的上一篇文章《Axure教程:獲取驗(yàn)證碼倒計(jì)時(shí)的實(shí)現(xiàn)》,發(fā)散思維想到去做的一個(gè)原型案例,在這里分享出來(lái),希望可以幫助到和我一樣剛起步的產(chǎn)品小白。
本文由 @Nilz 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash ,基于 CC0 協(xié)議
reemarker是一款 模板引擎:即一種基于模板和要改變的數(shù)據(jù),并用來(lái)生成輸出文本(HTML網(wǎng)頁(yè),電子郵件,配置文件,源代碼等)的通用工具。它不是面向最終用戶的,而是一個(gè)Java類庫(kù),是一款程序員可以嵌入他們所開發(fā)產(chǎn)品的組件。
Freemarker基礎(chǔ)語(yǔ)法種類
1、注釋,即<#-- -->,介于其之間的內(nèi)容會(huì)被freemarker忽略
<#--我是一個(gè)freemarker注釋-->
2、插值(Interpolation):即${..}部分,freemarker會(huì)用真實(shí)的值代替${..}
Hello ${name}
3、FTL指令:和HTML標(biāo)記類似,名字前加#予以區(qū)分,F(xiàn)reemarker會(huì)解析標(biāo)簽中的表達(dá)式或邏輯。
<# >FTL指令</#>
4、文本,僅文本信息,這些不是freemarker的注釋、插值、FTL指令的內(nèi)容會(huì)被freemarker忽略解析,直接輸出內(nèi)容。
<#--freemarker中的普通文本-->
我是一個(gè)普通的文本
集合指令-List
集合指令List的指令格式如下:
<#list></#list>
例子:
<#list stus as stu>
<tr>
<td>${stu_index+1}</td>
<td>${stu.name}</td>
<td>${stu.age}</td>
<td>${stu.money}</td>
</tr>
</#list>
${k_index}:得到循環(huán)的下標(biāo),使用方法是在stu后邊加"_index",它的值是從0開始。
集合指令-Map
1.獲取map中的值
map['keyname'].property
map.keyname.property
2.遍歷map
<#list userMap?keys as key>
key:${key}--value:${userMap["${key}"]}
</#list>
if指令
if指令的語(yǔ)法格式如下:
<#if expression>
<#else>
</#if>
需求:在list集合中判斷學(xué)生為小紅的數(shù)據(jù)字體顯示為紅色。
<#if stu.name='小紅'>
<tr style="color: red">
<td>${stu_index}</td>
<td>${stu.name}</td>
<td>${stu.age}</td>
<td>${stu.money}</td>
</tr>
<#else >
<tr>
<td>${stu_index}</td>
<td>${stu.name}</td>
<td>${stu.age}</td>
<td>${stu.money}</td>
</tr>
</#if>
在freemarker中,判斷是否相等,=與==是一樣的。
FreeMarker表達(dá)式中完全支持算術(shù)運(yùn)算,FreeMarker支持的算術(shù)運(yùn)算符包括:
①加法:+
②減法:-
③乘法:*
④除法:/
⑤求模(求余):%
常見的比較運(yùn)算符,和它們用途說(shuō)明如下表:
注意事項(xiàng):=和!=可以用于字符串、數(shù)值和日期來(lái)比較是否相等?
=和!=兩邊必須是相同類型的值,否則會(huì)產(chǎn)生錯(cuò)誤?字
符串"x"、"x "、"X"比較是不等的.因?yàn)镕reeMarker是精確比較?
gt代替>, FreeMarker會(huì)把>解釋成FTL標(biāo)簽的結(jié)束字符,可使用括號(hào)避免這種情況,如:<#if (x>y)>
空值處理
1、判斷某變量是否存在使用"??"用法為:variable??,如果該變量存在,返回true,否則返回false。
例:為防止stus為空?qǐng)?bào)錯(cuò)可以加上判斷如下:
<#if stus??>
<#list stus as stu>
......
</#list>
</#if>
2、缺失變量默認(rèn)值使用"!"
使用!要以指定一個(gè)默認(rèn)值,當(dāng)變量為空時(shí)顯示默認(rèn)值,例如${name!''}表示如果name為空顯示空字符串。?
如果是嵌套對(duì)象則建議使用()括起來(lái),例如${(stu.name)!''}表示,如果stu或name為空默認(rèn)顯示空字符串。
內(nèi)建函數(shù)
內(nèi)建函數(shù)語(yǔ)法格式:變量+?+函數(shù)名稱
1.集合的大小。
${集合名?size}
2.日期格式化
顯示年月日: ${today?date}
顯示時(shí)分秒:${today?time}
顯示日期+時(shí)間:${today?datetime}
自定義格式化:${today?string("yyyy年MM月")}
3.內(nèi)建函數(shù)c
model.addAttribute("point", 102920122);
point是數(shù)字型,使用${point}會(huì)顯示這個(gè)數(shù)字的值,每三位使用逗號(hào)分隔。如果不想顯示為每三位分隔的數(shù)字,可以使用c函數(shù)將數(shù)字型轉(zhuǎn)成字符串輸出。
${point?c}
4.將json字符串轉(zhuǎn)成對(duì)象
一個(gè)例子:其中用到了assign標(biāo)簽,assign的作用是定義一個(gè)變量。
自蜂鳥網(wǎng)-技法學(xué)院,原文鏈接:https://m.fengniao.com/slide/5358596.html
日暮時(shí)分,夕陽(yáng)灑向行人勾勒出毛茸茸的輪廓。這是Erik Witsoe鏡頭下的波蘭,有春的盎然,冬的蕭瑟,有日落時(shí)的壯麗,也有夜色中的幽靜,小巷中穿梭嬉鬧的人群,或是雨后路沿邊的水塘反射出城市里好看的建筑。Erik Witsoe將這些生活中最常見的景色變成詩(shī)一般的畫面
歡迎關(guān)注 蜂鳥網(wǎng)微信公眾號(hào):fengniaoweixin
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。