Axure-3步实现实时时间

在制作大屏或者后台原型时,经常会有时间的显示,为了让原型更加高保真,我们可以利用axure的函数来获取当前时间,并动态显示。如下图:

大屏实时倒计时

要想获得时间的刷新,我们可以使用动态面板来实现,当动态面板转换页面时,设置时间文本显示当前时间。

Step1:准备一个文本标签,点右键并把它转为动态面板,选中动态面板的state1,右键,选择复制状态,复制出“state2”。

Axure-3步实现实时时间_第1张图片
文本标签
Axure-3步实现实时时间_第2张图片
状态

Step2:设置动作:

             给动态面板增加载入时的动作,设置动态面板循环显示下一页面,循环周期为1秒钟(1000毫秒)。

Axure-3步实现实时时间_第3张图片
动作设置

Step3:设置时间文本,这里我们需要利用一些函数:

Axure-3步实现实时时间_第4张图片

1.函数介绍

首先是一些时间函数,这里无需解释

年:Now.getFullYear()

月:Now.getMonth()

日:Now.getDate()

时:Now.getHours()

分:Now.getMinutes()

秒:Now.getSeconds()

然后是一些连接函数:

LVAR.concat('string'):这个函数是在字符串后面附加字符串,这里使用的目的,是在月、日、时、分、秒的前面加上0,后面详解;

LVAR.substr(start,length):这个函数是从目标字符串的指定位置开始,截取固定长度的字符串,起始位置从0开始;

LVAR.length:取得目标字符串的长度。

2. 函数编写

日期的获取和连接并不困难,这里的难点,是在如何将1位文字转换为2位文字,上一步提到的函数是关键。

以秒为例,先在获取到的秒前面加0,比如:010、05

我们最后要保留的是2位数,其实就是最后两位数,但是Axure中没有Right()函数,所以我们只能迂回取得。

1、获取添加0后的长度;

2、用长度减去2,作为截取字符串的起始位置;

3、截取的长度为2。

如:010,从字符串下标为1的位置开始,取两位,结果为10

05,从字符串下标为0的位置开始,取两位,结果为05

这就是我们要的效果

以秒为例写出相应函数:

[[(0.concat(Now.getSeconds())).substr((0.concat(Now.getSeconds())).length-2,2)]];

整体的函数如下:

[[(0.concat(Now.getFullYear())).substr((0.concat(Now.getFullYear())).length-4,4)]]/[[(0.concat(Now.getMonth())).substr((0.concat(Now.getMonth())).length-2,2)]]/[[(0.concat(Now.getDate())).substr((0.concat(Now.getDate())).length-2,2)]]/[[(0.concat(Now.getHours())).substr((0.concat(Now.getHours())).length-2,2)]]:[[(0.concat(Now.getMinutes())).substr((0.concat(Now.getMinutes())).length-2,2)]]:[[(0.concat(Now.getSeconds())).substr((0.concat(Now.getSeconds())).length-2,2)]]

你可能感兴趣的:(Axure-3步实现实时时间)