美文网首页
Axure-3步实现实时时间

Axure-3步实现实时时间

作者: 不晚姐 | 来源:发表于2020-09-24 16:53 被阅读0次

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

    大屏实时倒计时

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

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

    文本标签 状态

    Step2:设置动作:

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

    动作设置

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

    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步实现实时时间

          本文链接:https://www.haomeiwen.com/subject/luftuktx.html