Axure变量或函数3

--本篇导航--

  • 数学函数(示例、进度条)
  • 日期函数(电子钟表、倒计时)
  • 布尔运算

数学函数

Axure中的数学函数,是指求绝对值、对数、指数、幂级数、三角函数、取整、随机数等函数。

+、-、*、/、%

加、减、乘、除、取余(这些直接键盘输入即可)输入时需要按此格式 [[输入计算公式]]

直接输入内容,Axure是将其视为文本,而非公式。

[[5/2]] 结果为 2.5

[[5%2]] 结果为 1

Math.abs(x)

计算参数值的绝对值

Math.acos(x)

获取一个数值的反余弦弧度值,范围为0~pi(π,x的范围在 -1~1之间,即 -1≤x≤1

Math.asin(x)

获取一个数值的反正弦值

Math.atan(x)

获取一个数值的反正切值

Math.atan2(y,x)

获取某一个点(x,y为点的坐标)的角度值,角度值为piπ的计算结果,所以一般为无限不循环小数

Math.ceil(x)

取整函数,获取大于或等于指定数值的最小整数。如ceil(2.3)=3

Math.cos(x)

获取一个数值的余弦函数,返回-1.0~1.0之间的数。x为弧度数值

Math.exp(x)

获取一个数值的指数函数,计算以e为底的指数

Math.floor(x)

取整函数,获取小于或等于指定数值的最大整数,如floor(2.7)=2

Math.log(x)

对数函数,计算以e为底的对数值

Math.max(x,y)

获取参数中的最大值,可以为多个值,如[[Math.max(2,5,1,8,0)]]

Math.min(x,y)

获取参数中的最小值,可以为多个值

Math.pow(x,y)

幂函数,计算x的y次幂

Math.random()

随机数函数,返回 0~1 之间的随机数

Math.sin(x)

正弦函数,x为弧度数值

Math.sqrt(x)

平方根函数,x为数值

Math.tan(x)

正切函数,x为弧度数值

上述函数的部分示例:

▲进度条:

最终效果:

实现步骤:

包含元素:

整体交互有:

蓝色进度条载入时,长度有一个随机的初始值:

当使用Math.random()时,生成的数值为0~1之间,比较小,可以乘以10、20来放大生成结果。

当进度条长度改变时,需要判断:

进度条长度<总长度:进度条长度需要不断的随机增长

进度条长度≥总长度:进度条长度 = 总长度,完成增长

百分比数值:

计算公式 = 进度条长度/总长度*100

为避免出现小数,应使用.toFixed(0)省略小数进行四舍五入。


日期函数

Axure可以获取当前时间的各种格式。

Now

获取当前计算机系统日期对象

GenDate

获取原型生成日期对象

getDate()

获取日期对象“日期”部分数值(1~31)

getDay()

获取日期对象“星期”部分的数值(0~6)

getDayOfWeek()

获取日期对象“星期”部分的英文名称

getFullYear()

获取日期对象“年份”部分四位数值

getHours()

获取日期对象“小时”部分数值(0~23)

getMilliseconds()

获取日期对象的毫秒数(0~999)

getMinutes()

获取日期对象“分钟”部分数值(0~59)

getMonth()

获取日期对象“月份”部分的数值(1~12)

getMonthName()

获取日期对象“月份”部分的英文名称

getSeconds()

获取日期对象“秒数”部分数值(0~59)

getTime()

获取日期对象中的时间值。该时间值表示从1970年1月1日00:00:00开始,到当前日期对象时,所经过的毫秒数,以格林威治时间为准

getTimezoneOffset()

获取世界标准时间(UTC)与当前主机时间之间的分钟差值

getUTCDate()

使用世界标准时间获取当前日期对象“日期”部分数值(1~3)

getUTCDay()

使用世界标准时间获取当前日期对象“星期”部分数值(0~6)

getUTCFullYear()

使用世界标准时间获取当前日期对象“年份”部分四位数值

getUTCHours()

使用世界标准时间获取当前日期对象“小时”部分数值(0~23)

getUTCMilliseconds()

使用世界标准时间获取当前日期对象的毫秒数(0~999)

getUTCMinutes()

使用世界标准时间获取当前日期对象“分钟”部分数值(0~59)

getUTCMonth()

使用世界标准时间获取当前日期对象“月份”部分数值(1~12)

getUTCSeconds()

使用世界标准时间获取当前日期对象“秒数”部分数值(1~3)

parse(datestring)

用于分析一个包含日期的字符串,并返回该日期与1970年1月1日00:00:00之间相差的毫秒数参数。datestring未日期格式的字符串,格式为yyyy/mm/dd hh:mm:ss

toTimeString()

以字符串的形式获取一个时间

toDateString()

以字符串的形式获取一个日期

toISOString()

获取当前日期对象的ISO格式的日期字串,格式:YYYY-MM-DDTHH:mm:ss:sssZ

toJSON()

获取当前日期对象的JSON格式的日期字串,格式:YYYY-MM-DDTHH:mm:ss:sssZ

toLocaleDateString()

以字符串的形式获取本地化当前日期对象,并且只包含“年月日”部分的短日期信息

toLocaleTimeString()

以字符串的形式获取本地化当前日期对象,并且只包含“时分秒”部分的短日期信息

toLocaleString()

以字符串的格式(YYYY/MM/DD HH:mm:ss)获取当前日期时间

toTimeString()

以字符串的格式获取当前日期时间时区

toUTCString()

以字符串的形式获取相对于当前日期对象的世界标准时间

Date.UTC(year,month,day,hour,min,sec,millisec)

获取相对于1970年1月1日00:00:00的世界标准时间,与指定日期对象之间相差的毫秒数。参数:组成指定日期对象的年、月、日、时、分、秒以及毫秒的数值

valueOf()

获取当前日期对象的原始值,从1970年1月1日至date对象的毫秒数

addYears(years)

将指定的年份数加到当前日期对象上,获取一个新的日期对象。参数:years为整数数值,正负均可

addMonths(months)

将指定的月份数加到当前日期对象上,获取一个新的日期对象。参数:months为整数数值,正负均可

addDays(days)

将指定的天数加到当前日期对象上,获取一个新的日期对象。参数:days为整数数值,正负均可

addHours(hours)

将指定的小时数加到当前日期对象上,获取一个新的日期对象。参数:hours为整数数值,正负均可

addMinutes(minutes)

将指定的分钟数加到当前日期对象上,获取一个新的日期对象。参数:minutes为整数数值,正负均可

addSeconds(seconds)

将指定的秒数加到当前日期对象那个上,获取一个新的日期对象。参数:seconds为整数数值,正负均可

addMilliseconds(ms)

将指定的毫秒数加到当前日期对象那个上,获取一个新的日期对象。参数:ms为整数数值,正负均可

Year

获取系统日期对象“年份”部分的四位数值

Month

获取系统日期对象“月份”部分的四位数值(1~12)

Day

获取系统日期对象“日期”部分的四位数值(1~31)

Hours

获取系统日期对象“小时”部分的四位数值(0~23)

Minutes

获取系统日期对象“分钟”部分的四位数值(0~59)

Seconds

获取系统日期对象“秒数”部分的四位数值(0~59)

电子钟表

最终效果:

实现步骤:

利用动态面板来做页面载入的刷新机制,每隔1秒来切换页面。

涉及到的元件:

整体交互:

动态面板每隔1s(1000ms)切换状态来刷新页面:

当动态面板切换状态(每隔1s刷新页面时)设置时间:

[[Now.getFullYear()]] 年 [[Now.getMonth()]] 月 [[Now.getDate()]] 日 [[Now.getHours()]] : [[Now.getMinutes()]] : [[Now.getSeconds()]]

倒计时

最终效果:

实现步骤:

输入截止日期,点击计算倒计时。

涉及的元件:

整体交互:

截止日期默认输入、启用:

按钮的状态:

默认为禁用,文本框有内容则启用(可进一步判断文本框的格式,此处没做)

当按钮启用时,单击后则开始循环切换动态面板的状态,来做刷新不断设置下方倒计时结果框的文本内容。

动态面板状态切换(截止日期文本框有内容时),则不断更新文本内容。如果截至日期文本框为空内容时,则将文本内容改成提示。

[[Math.floor((LVAR1.getTime()-Now.getTime())/1000/60/60/24)]] 天

[[Math.floor((LVAR1.getTime()-Now.getTime())/1000/60/60%24)]] 小时

[[Math.floor((LVAR1.getTime()-Now.getTime())/1000/60/60%60)]] 分钟

[[Math.floor((LVAR1.getTime()-Now.getTime())/1000%60)]] 秒


布尔运算

除了函数的布尔运算,还支持多个元件的布尔运算。

 

posted @ 2024-12-29 23:52  书书书书君  阅读(254)  评论(1)    收藏  举报