如何使用Axure制作动态时间

发布网友 发布时间:2022-04-23 01:02

我来回答

1个回答

热心网友 时间:2023-04-26 06:45

  使用Axure制作动态时间的方法

  制作动态面板

  在工作区拖入一个文本标签,右键单击,选择“转换为动态面板”,命名为“动态时间”。

  有人可能直接从元件库拖入动态面板,这样也可以,但是我还是习惯直接通过右键的方式,这种方式制作的动态面板,不会受到面板区域*而使某些元件不能显示。


  制作动态面板

  进入状态1(state1),再拖入一个文本标签,分别将两个文本标签命名为“日期”和“时间”,调整两个标签的位置。


  制作动态面板

  关闭状态,返回index页。在“元件管理”面板右键单击state1,选择复制状态,新状态为state2,不用修改两个状态的名称,因为不重要。


  设置自动循环

  选中动态面板,添加为“载入时”事件添加用例,选择“设置面板状态”,选中“动态时间”面板,状态为“Next”,勾选“向后循环”,时间为1000毫秒。

  这样设置后,面板就会每隔一秒切换一次状态,并且一直在状态1和状态2之间无限循环。


  整理时间日期函数

  将以下信息整理至Notepad++备用

  年:Now.getFullYear()

  月:Now.getMonth()

  日:Now.getDate()

  时:Now.getHours()

  分:Now.getMinutes()

  秒:Now.getSeconds()


  函数解释

  日期函数不用解释了,下面解释我们要用到的其他函数。

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

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

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


  实现思路分析

  日期的获取和连接并不困难,这里的难点,是在如何将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)]]


  完善函数


  预览

  完成以上一系列设置后,按F5预览效果。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com