Axure函数详解

        工欲善其事必先利其器。Axure学习成本不高,但易懂难精,使用了半天如果仅仅停留在画出灰度原型基本用法,不免逼格低。如果想做点交互,往往会涉及到变量和函数。使用变量和函数做出的交互原型扩展性强,灵活度高,并且往往一个函数就能顶上一堆用例。能用好函数无疑对我们的工作效率有极大的提升。

        函数不用死记,只需要通读一遍知道Axure函数大概能做什么事情,然后在需要的时候进行查询就行。

Axure函数分为十类:

元件函数

鼠标指针函数

窗口函数

页面函数

数字函数

数学函数

时间函数

字符串函数

中继器函数

布尔运算


Axure函数的基本语法

在axure交互设计时,函数可以用在条件公式和需要赋值的地方,其基本语法是用双方括号包含,变量值和函数用英文句号连接。如:[[LVAR. Width]] 表示变量LVAR的宽度。[[This. Width]] 当前元件的宽度


元件函数详解

this       获取当前元件对象。当前元件是指当前添加交互动作的元件。如:this.text获取当前选中元件上的文字内容

target      目标元件,指指当前交互动作控制的元件。如:targets.text就是获取当前交互动作控制的元件上的文字内容

widget.x     获取指定元件的X轴坐标;

widget.y     获取指定元件的Y轴坐标;

widget.width     获取指定元件的宽度值。

widget.height    获取指定部件的高度值

widget.scrollX    获取动态面板水平滚动距离

widget.scrollY    获取动态面板垂直滚动距离

widget.text      获取指定元件上的文字内容;

widget.name         获取指定元件的自定义名称;

widget.top      获取元件的的顶部位置或坐标。

widget.left      获取元件的的左侧位置或坐标。

widget.right       获取元件的的右侧位置或坐标。

widget.bottom     获取元件的的底部位置或坐标。

widget.opacity      获取元件的不透明比例。

widget.rotation       获取元件的旋转角度。


鼠标指针函数详解

Cursor.x        鼠标指针在页面中位置的X轴坐标。

Cursor.y        鼠标指针在页面中位置的Y轴坐标。

DragX         鼠标指针沿X轴拖动元件时的瞬间(0.01秒)拖动距离。(即元件拖动速度)

DragY      鼠标指针沿Y轴拖动元件时的瞬间(0.01秒)拖动距离。(即元件拖动速度)

TotalDragX      鼠标指针拖动元件从开始到结束的X轴移动距离。(即X轴移动总距离)

TotalDragY       鼠标指针拖动元件从开始到结束的Y轴移动距离。(即Y轴移动总距离)

DragTime        鼠标指针拖动元件从开始到结束的总时长。鼠标左键按下后拖动部件移动时,时间开始累积,鼠标不动也会累积时间;鼠标左键释放后时间停止积累,再次点击拖动时时间重置为默认(0);时间累积单位为毫秒。


窗口函数详解

Window.width      打开原型页面的浏览器当前宽度。

Window.height       打开原型页面的浏览器当前高度。

Window.scrollX       浏览器中页面水平滚动(滚动栏拖动)的距离。

Window.scrollY       浏览器中页面垂直滚动(滚动栏拖动)的距离。


页面函数详解

PageName       获取当前页面的名称。


数字函数详解

toExponential(decimalPoints)    把数值转换为指数计数法。decimalPoints保留的小数位数,为0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。返回 LVAR1 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有decimalPoints位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。如:LVAR1 = 10000;[[LVAR1.toExponential(1)]];输出:1.0e+4

toFixed(decimalPoints)      将一个数字转为保留指定位数的小数,小数位数超出指定位数时进行四舍五入。decimalPoints保留的小数位数,为0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用0代替。如:LVAR1 = 13.37;设置文本部件1的值= [[LVAR1.toFixed(1)]];输出:13.4

toPrecision(length)     把数字格式化为指定的长度。length被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。length为格式化后的数字长度,小数点不计入长度。如:LVAR1=10000;设置文本部件1的值为:[[LVAR1.toPrecision(4)]];输出:1.000e+4。


数学函数详解

+     数的和     语法:[[LVAR1+LVAR2]]

-     数的差     语法:[[LVAR1-LVAR2]]

*     数的乘积     语法:[[LVAR1*LVAR2]]

/     数的商     语法:[[LVAR1+LVAR2]]

%     数的余数     语法:[[LVAR1%LVAR2]]

Math.abs(x)     数的绝对值。 参数:x为数值。  如:LVAR1 = -3.14;[[Math.abs(LVAR1)]];返回:3.14

Math.acos(x)      获取一个数值的反余弦值,返回的值是 0~ PI之间的弧度值 。 参数:x为数值,范围在 -1~1 之间。

Math.asin(x)      获取一个数值的反正弦值,返回的值是 -PI/2 到 PI/2 之间的弧度值。 参数:x为数值,范围在 -1~1 之间。

Math.atan(x)      获取一个数值的反正切值,返回的值是 -PI/2 到 PI/2 之间的弧度值。 参数:x为数值。

Math.atan2(y,x)      获取某一点(x,y)的角度值。 参数:“x,y”为点的坐标数值。返回值:-PI到 PI 之间的值,是从 X 轴正向逆时针旋转到点(x,y)时经过的角度。

Math.ceil(x)      向上取整函数,获取大于等于 x,并且与它最接近的整数。 参数:x为数值。如:ceil(0.4),输出1;ceil(5.1),输出6;ceil(-5.9),输出-5

Math.cos(x)      获取一个数字的余弦函数,返回的是 -1.0 到 1.0 之间的数。 参数:x为弧度数值。

Math.exp(x)      指数函数,计算以e为底的指数。 参数:x为数值。返回 e 的 x 次幂。e 代表自然对数的底数,其值近似为2.71828。如:exp(1),输出:2.718281828459045

Math.floor(x)      向下取整函数,获取小于等于 x,且与 x 最接近的整数。 参数:x为数值。如:floor(0.4),输出0;floor(5.1),输出5;floor(-5.9),输出-6

Math.log(x)      对数函数,计算以e为底的对数值。 参数:x为数值。如:log(2.7183),输出1.0000066849139877

Math.max(x,y)     获取参数中的最大值。 参数:“x,y”表示多个数值,而非2个数值。

Math.min(x,y)     获取参数中的最小值。 参数:“x,y”表示多个数值,而非2个数值。

Math.pow(x,y)      幂函数,计算x的y次幂。 参数:x为底数,必须是数字;y为幂数,必须是数字

Math.random()     随机数函数,返回一个0~1之间的随机数。 示例:获取10-15之间的随机小数,计算公式为Math.random()*5+10。

Math.sin(x)      一个数值的正弦函数。 参数:x为弧度数值。一个以弧度表示的角。将角度乘以0.017453293 (2PI/360)即可转换为弧度。

Math.sqrt(x)      一个数的平方根。 参数:x为数值。

Math.tan(x)     一个角的正切函数。 参数:x为弧度数值。


时间函数详解

Now     根据计算机系统设定的日期和时间返回当前的日期和时间值。如:设置元件文本的值为:[[Now]];输出:Mon Jan 08 2018 10:42:55 GMT+0800 (中国标准时间)。GMT(Greenwich Mean Time)代表格林尼治标准时间。而CST却同时可以代表如下 4 个不同的时区:Central Standard Time (USA) UT-6:00美国;Central Standard Time (Australia) UT+9:30澳大利亚;China Standard Time UT+8:00中国;Cuba Standard Time UT-4:00古巴。

GenDate     根据计算机系统设定的日期和时间返回当前原型生成时的日期和时间值。

getDate()     获取日期对象返回一个月中的日期的数字(1 ~ 31)。

getDay()     获取日期对象返回表示星期的某一天的数字。(0 ~ 6)。返回值是 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 ~ 31)。

getUTCDay()      使用世界标准时间获取当前日期对象返回表示星期的一天的一个数字。(0 ~ 6)。

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

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

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

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

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

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

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

toDateString()     可把 Date 对象的日期部分转换为字符串,并返回结果。

toISOString()      以字符串值的形式返回采用 ISO 格式的日期,格式:YYYY-MM-DDTHH:mm:ss.sssZ。

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

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

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

toLocaleString()     根据本地时间把Date 对象转换为字符串,并返回结果。包含“年月日时分秒”。如:[[Now.toLocaleString()]];输出:2014年5月25日 下午12:33:26

toTimeString()     把 Date 对象的时间部分转换为字符串,并返回结果。如:[[Now.toTimeString()]];输出:13:21:58 GMT+0800 (CST)

toUTCString()     根据世界时间 (UTC) 把 Date 对象转换为字符串,并返回结果。如:[[Now.toUTCString()]];输出:Sun,25 May 2014 05:27:36 GMT

Date.UTC(year,month,day,hour,min,sec,millisec)      获取相对于1970 年 1 月 1 日 00:00:00的世界标准时间,与指定日期对象之间相差的毫秒数。 参数:组成指定日期对象的年、月、日、时、分、秒以及毫秒的数值。

valueOf()     获取当前日期对象的原始值。

addYears(years)      将指定的年份数加到当前日期对象上,获取一个新的日期对象。 参数:years为整数数值,正负均可。如:设置文本部件1的值为:[[Now.addYears(-3)]];输出:Wed May 25 2011 13:44:52 GMT+0800 (CST)。设置文本部件1的值为:[[Now.addYears(3)]];输出:Thu May 25 2017 13:46:46 GMT+0800 (CST)。

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

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

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

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

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

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


字符串函数详解

length      获取当前文本对象的长度,即字符个数;1个汉字的长度按1计算。

charAt(index)      获取当前文本对象中指定位置的字符; 参数:index为大于等于0的整数,表示字符串中某个位置的数字

charCodeAt(index)      获取当前文本对象中指定位置字符的Unicode编码(中文编码段19968 ~ 40622);字符起始位置从0开始。 参数:index为大于等于0的整数。

concat(‘string’)      将当前文本对象与另一个字符串组合。 参数:string为将被连接为一个字符串的一个或多个字符串对象。

indexOf(‘searchValue’,start)      从左至右获取查询字符串在当前文本对象中首次出现的位置。未查询到时返回值为-1。 参数:searchValue为查询的字符串;start为查询的起始位置。该参数可省略,官方未给出此参数,经测试可用。

lastIndexOf(‘searchvalue’,start)      从右至左获取查询字符串在当前文本对象中首次出现的位置。未查询到时返回值为-1。 参数:searchValue为查询的字符串;start为查询的起始位置。该参数可省略,官方未给出此参数,经测试可用。

replace(‘searchvalue’,’newvalue’)      用新的字符串替换当前文本对象中指定的字符串。 参数:searchvalue为被替换的字符串;newvalue为新文本对象或字符串。

slice(start,end)      从当前文本对象中截取从指定起始位置开始到终止位置之前的字符串。 参数:start为被截取部分的起始位置,该数值可为负数;end为被截取部分的终止位置,该数值可为负数。该参数可省略,省略该参数则由起始位置截取至文本对象结尾。start要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。end紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

split(‘separator’,limit)      将当前文本对象中与分隔字符相同的字符转为“,”,形成多组字符串,并返回从左开始的指定组数。 参数:separator为分隔字符,分隔字符可以为空,为空时将分隔每个字符为一组;limit为返回组数的数值,该参数可以省略,省略该参数则返回所有字符串组。如:LVAR1 = axure7.0标准教程由金乌老师录制的黄金教程;[[LVAR1.split('',5)]];返回:a,x,u,r,e;[[LVAR1.split('')]],则返回:a,x,u,r,e,7,.,0,标,准,教,程,由,金,乌,老,师,录,制,的,黄,金,教,程

substr(start,length)      从当前文本对象中指定起始位置开始截取一定长度的字符串。 参数:start为被截取部分的起始位置;length为被截取部分的长度,该参数可省略,省略该参数则由起始位置截取至文本对象结尾。

substring(from,to)      从当前文本对象中截取从指定位置到另一指定位置区间的字符串。右侧位置不截取。 参数:from为指定区间的起始位置;to为指定区间的终止位置,该参数可省略,省略该参数则由起始位置截取至文本对象结尾。

toLowerCase()      将文本对象中所有的大写字母转换为小写字母。

toUpperCase()      将当前文本对象中所有的小写字母转换为大写字母。

trim()      删除字符串中开头和结尾多余的空格

toString()      将一个逻辑值转换为字符串。


中继器函数详解

Repeater     中继器的对象。Item.Repeater即为Item所在的中继器对象。

visibleItemCount       中继器项目列表中可见项的数量。比如:项目列表共有15项,分页显示为每页6项。当项目列表在第1、2页时,可见项数量为6;当项目列表在第3页时,可见项数量为3。

itemCount       获取中继器项目列表的总数量,或者叫加载项数量。默认情况下项目列表的总数量会与中继器数据集中的数据行数量一致,但是,如果进行了筛选,项目列表的总数量则是筛选后的数量,这个数量不受分页影响。

dataCount      获取中继器数据集中数据行的总数量。

pageCount      获取中继器分页的总数量,即能够获取分页后共有多少页。

pageIndex      获取中继器项目列表当前显示内容的页码。

Item      获取数据集一行数据的集合,即数据行的对象。中继器的项

TargetItem     目标数据行的对象。

Item.列名      获取数据行中指定列的值。

index      获取数据行的索引编号,编号起始为1,由上至下每行递增1。

isFirst      判断数据行是否为第1行;如果是第1行,返回值为“True”,否则为“False”。

isLast      判断数据行是否为最末行;如果是最末行,返回值为“True”,否则为“False”。

isEven      判断数据行是否为偶数行;如果是偶数行,返回值为“True”,否则为“False”。

isOdd      判断数据行是否为奇数行;如果是奇数行,返回值为“True”,否则为“False”。

isMarked      判断数据行是否为被标记;如果被标记,返回值为“True”,否则为“False”。

isVisible      判断数据行是否为可见行;如果是可见行,返回值为“True”,否则为“False”。

布尔运算符

==     等于

!=      不等于

<       小于

<=     小于等于

>       大于

>=     大于等于

&&     并且

||         或者

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 1.全局变量 Global Variable OnLoadVariable:用途:默认名称 2.中继器/数据集 R...
    FansMaker阅读 4,219评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,219评论 0 4
  • 给一切思绪配备上适当的容器 投放到沧海桑田的彼时彼地
    孟小繁阅读 163评论 0 0
  • 正是蒙古高原的夏天,正午的太阳毒的很,灼得人浑身发烫。而此时两只集结好的军队各自背靠山林对峙着。铁木真望着人多势众...
    励志控阅读 380评论 0 1
  • ——谜底 皓月当空,对盏推杯,诉胸中之大志,叹时事之不为。吾以前人之言,效以身之践。诚如弱冠韶华倾负,时将至而立之...
    任性90后阅读 429评论 2 1