--本篇导航--
- 数学函数(示例、进度条)
- 日期函数(电子钟表、倒计时)
- 布尔运算
数学函数
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)]] 秒
布尔运算
除了函数的布尔运算,还支持多个元件的布尔运算。
标签:变量,对象,数值,获取,日期,当前,Axure,Math,函数 From: https://www.cnblogs.com/11sgXL/p/18639824