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)]] 秒

布尔运算

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


浙公网安备 33010602011771号