Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 在线免费试看,国产不卡一区二区视频免费,日本在线免费播放

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Axure教程:進階版倒計時

          Axure教程:進階版倒計時

          個原型是作者根據上一篇文章《Axure教程:獲取驗證碼倒計時的實現》,發散思維想到去做的一個原型案例,在這里分享出來,希望可以幫助到一樣剛起步的產品小白。

          如果該教程較難,建議先觀看我做的第一個倒計時(簡單版),操作步驟更為詳細:http://www.woshipm.com/rp/3133460.html。

          開門見山,我們先來看看效果↓

          預覽圖:

          預覽網址:https://jxvo3f.axshare.com

          所需元件

          一個命名為“觸發器”的動態面板(兩個面板狀態)、一個命名為“秒”的矩形,并填入文字“10”、一個命名為“分”的矩形,并填入文字“01”、一個命名為“時”的矩形,并填入文字“01”、兩個“:”矩形、一個填充色為黃色的背景矩形。

          操作步驟

          (1)設置動態面板交互——載入時

          這個交互的作用是一直觸發動態面板的下一個交互——狀態改變時。

          (2)設置動態面板第二個交互——狀態改變時(Case 1)

          這里就不列舉詳細操作步驟了,較為詳細的步驟就在我的開頭的文章里面有介紹。

          Case1的作用是:“當“秒”矩形內的數值大于0時則自減1”。

          (3)設置動態面板第三個交互——狀態改變時(Case 2)

          Case2里多了一個條件,那么Axure如何設置多個條件呢?只需要在“編輯條件”里面再點擊一下紅圈里面的加號即可添加多一個條件了。

          Case2的作用是:“當“秒”矩形內數值為0時,“分”矩形內數值減1,“秒”矩形內數值設為59”。

          (4)設置動態面板第四個交互——狀態改變時(Case 3)

          Case3的作用是:“當“秒”矩形內數值為0且“分”矩形內數值也為0時,則“時”矩形內數值減1,且“分”矩形數值設為59,“秒”矩形數值設為59”

          (5)大功告成,按F5預覽看看效果

          小記

          (1)如果預覽時覺得看數值變化太慢了,可以把動態面板的交互——載入時的循環間隔時間設置為1ms。

          (2)這個原型有一個缺陷,就是當倒計時倒數到個位數時,無法顯示為“09、08、07”這樣子,在個位數前面補0,當然簡單的替換方案就是在“時”“分”“秒”矩形前面加一個隱藏的0,并設置顯示時的條件為:“當“時”“分”“秒”矩形內的數值低于10時顯示并在大于10時隱藏即可”。但是如何通過函數實現,期望有大佬可以來講解一下。

          (3)該原型的適用場景有很多,比如說現在許多商城的限時搶購都會用到時分秒的倒計時。學會了就可以應用在這些場景里面了(??????)??

          (4)正式使用時,記得要將僅僅用來實現倒計時功能的動態面板隱藏掉。這里我為了展示效果所以沒有隱藏。

          (5)這個原型是根據我的上一篇文章《Axure教程:獲取驗證碼倒計時的實現》,發散思維想到去做的一個原型案例,在這里分享出來,希望可以幫助到和我一樣剛起步的產品小白。

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

          題圖來自 Unsplash ,基于 CC0 協議

          reemarker是一款 模板引擎:即一種基于模板和要改變的數據,并用來生成輸出文本(HTML網頁,電子郵件,配置文件,源代碼等)的通用工具。它不是面向最終用戶的,而是一個Java類庫,是一款程序員可以嵌入他們所開發產品的組件。

          Freemarker基礎語法種類

          1、注釋,即<#-- -->,介于其之間的內容會被freemarker忽略

          <#--我是一個freemarker注釋-->

          2、插值(Interpolation):即${..}部分,freemarker會用真實的值代替${..}

          Hello ${name}

          3、FTL指令:和HTML標記類似,名字前加#予以區分,Freemarker會解析標簽中的表達式或邏輯。

          <# >FTL指令</#>

          4、文本,僅文本信息,這些不是freemarker的注釋、插值、FTL指令的內容會被freemarker忽略解析,直接輸出內容。

          <#--freemarker中的普通文本-->
          我是一個普通的文本

          集合指令-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}:得到循環的下標,使用方法是在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指令的語法格式如下:

          <#if expression>
          <#else>
          </#if>

          需求:在list集合中判斷學生為小紅的數據字體顯示為紅色。

          <#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表達式中完全支持算術運算,FreeMarker支持的算術運算符包括:

          ①加法:+

          ②減法:-

          ③乘法:*

          ④除法:/

          ⑤求模(求余):%

          常見的比較運算符,和它們用途說明如下表:

          注意事項:=和!=可以用于字符串、數值和日期來比較是否相等?

          =和!=兩邊必須是相同類型的值,否則會產生錯誤?字

          符串"x"、"x "、"X"比較是不等的.因為FreeMarker是精確比較?

          gt代替>, FreeMarker會把>解釋成FTL標簽的結束字符,可使用括號避免這種情況,如:<#if (x>y)>

          空值處理

          1、判斷某變量是否存在使用"??"用法為:variable??,如果該變量存在,返回true,否則返回false。

          例:為防止stus為空報錯可以加上判斷如下:

          <#if stus??>
             <#list stus as stu>
                 ......
             </#list>
          </#if>

          2、缺失變量默認值使用"!"

          使用!要以指定一個默認值,當變量為空時顯示默認值,例如${name!''}表示如果name為空顯示空字符串。?

          如果是嵌套對象則建議使用()括起來,例如${(stu.name)!''}表示,如果stu或name為空默認顯示空字符串。

          內建函數

          內建函數語法格式:變量+?+函數名稱
          1.集合的大小。

          ${集合名?size}

          2.日期格式化

          顯示年月日: ${today?date}
          顯示時分秒:${today?time}
          顯示日期+時間:${today?datetime}
          自定義格式化:${today?string("yyyy年MM月")}

          3.內建函數c

          model.addAttribute("point", 102920122);

          point是數字型,使用${point}會顯示這個數字的值,每三位使用逗號分隔。如果不想顯示為每三位分隔的數字,可以使用c函數將數字型轉成字符串輸出。

          ${point?c}

          4.將json字符串轉成對象

          一個例子:其中用到了assign標簽,assign的作用是定義一個變量。

          自蜂鳥網-技法學院,原文鏈接:https://m.fengniao.com/slide/5358596.html

          日暮時分,夕陽灑向行人勾勒出毛茸茸的輪廓。這是Erik Witsoe鏡頭下的波蘭,有春的盎然,冬的蕭瑟,有日落時的壯麗,也有夜色中的幽靜,小巷中穿梭嬉鬧的人群,或是雨后路沿邊的水塘反射出城市里好看的建筑。Erik Witsoe將這些生活中最常見的景色變成詩一般的畫面

          歡迎關注 蜂鳥網微信公眾號:fengniaoweixin


          主站蜘蛛池模板: 色妞AV永久一区二区国产AV| 国产在线一区二区三区| 国产乱人伦精品一区二区| 亚洲国产视频一区| 精品国产a∨无码一区二区三区 | 亚洲欧美一区二区三区日产| 精品午夜福利无人区乱码一区| 亚洲国产精品一区二区久| 亚洲综合av一区二区三区不卡| 国产色欲AV一区二区三区| 国产精久久一区二区三区| 一区二区三区四区精品视频| 国产精品一区在线麻豆| 精品91一区二区三区| 国内精品无码一区二区三区| 日韩内射美女人妻一区二区三区 | 无码av中文一区二区三区桃花岛| 国产一区在线播放| 奇米精品一区二区三区在线观看| 国产福利一区二区三区| 夜夜精品无码一区二区三区| 亚洲综合av永久无码精品一区二区 | 美女啪啪一区二区三区| 亚洲AV无码一区二区三区牛牛| 国产一区二区福利久久| 国产丝袜视频一区二区三区| 国产精品成人免费一区二区| 国产亚洲日韩一区二区三区| 欧美日韩一区二区成人午夜电影| 中文字幕在线无码一区二区三区| 亚洲AV成人精品一区二区三区 | 无码人妻av一区二区三区蜜臀| 久久久久人妻一区精品果冻| 69福利视频一区二区| 亚洲国产精品一区二区第一页免| 国产精品福利一区二区| 高清国产精品人妻一区二区| 日韩精品免费一区二区三区| 亚洲国产精品一区二区第一页 | 久久精品一区二区三区资源网| 午夜视频在线观看一区|