axure的一些注意事项

1. 不要轻易用中继器的 载入时 事件, 感觉存在bug

2. 元件在显示和隐藏的动画过程中,不要去取他的x,y值,有几率会取成0,也不要去获取它的尺寸,只有在动画完成后才能获得

3. 装着一个中继器的 会跟着变尺寸的 动态面板,当中继器项值因筛选减少时,不会立即改变动态面板的尺寸大小,可以通过获取筛选后的中继器尺寸来设置面板尺寸。最好用万能办法:可以用中继器内的单位尺寸*筛选后的项数获得总尺寸

   在筛选过程中有新增的,或者等量的更新时,才会立即更新动态面板的大小尺寸

4. 无法对同个对象进行 同时 移动和变化尺寸 的动作,也无法对同个对象进行 同时 移动和显示隐藏(切换面板状态)带淡入淡出效果,同时变化尺寸和显示隐藏也同样不行。会根据动作顺序依次执行。 需要同时执行的话, 用嵌套面板解决。 【【8.0 beta版中 已经能同时进行了】】

    显示/隐藏动效过程中 会使动态面板自动适应尺寸功能失效(它内部的元件尺寸变化时,它本身尺寸不会自动变化)。

5. 变量值 aaa = 3.14 ,  事件触发 aaa = [[aaa-0.01]],  运行触发后,aaa值会等于3.130000000001, 3.12000000042 这种。 仍然需要2位的话用函数toPrecision(这个函数保留的位数包括整数和小数)保留位数。做相加相减运算时,因素之一带有小数的话,结果就会出现这种情况。 感觉是bug,尼玛3.14-0.01 ,得出个3.1300000000000003

6. 当设置动态面板居中固定到浏览器并且隐藏时,无法获取该面板的属性(例如.x  .y   .left)。 有固定边距固定(非居中)不影响,显示居中固定也不影响。

7. 使用 对象.函数时, 例如 XX.toFixed,  这个XX不能又是YY.函数,例如 this.text.toFixed。 这样是得不出来的,还返回这个表达式。可以利用math.max() 给转成对象

8. 中继器的index是从1 开始的, 和字符串不一样,字符串位置从0开始

9. 透明部件(填充和边框都为透明),设置阴影,原型里看有效果,浏览器看会没效果。将填充透明度设1或边框透明度设1,都可解决。

10. 在中继器中的文本框,在每项加载文本框数据内容时,自适应长和宽,不起效果的。其实是自适应长宽只针对在axure里设计时,在生成html后,是无法根据文本框内容来自动调节长宽的

11. [[nu.replace('{'+tmpnu+'}'+(this.text+0)+'{'+tmpnu+'}','{'+tmpnu+'}'+(this.text+1)+'{'+tmpnu+'}')]] 在这这个替换时,一开始没用this.text+0,直接this.text拼接时,发生在this.text的值后面出现换行的莫名情况,原因不知,换成this.text+0后完美解决。可能是bug也可能是+0后强制转成了数字型从而规避了问题。

12. 移除中继器过滤器,除了清除筛选外,还能清除例如隐藏等施加在单位元件上的历史作用效果。

13. 中继器删除行规则,false = 不删除任何行,只为触发重载中继器。 true = 删除全部行。 更新行同理

14. 中继器筛选后获取中继器的尺寸,OK的。但当筛选结果是空的时候,中继器大小会仍然是前一次筛选后的调整大小,而不会是0。可以用单位尺寸*筛选后的项数获得

15. 对中继器中的单位元件进行选中改变操作后,做更新中继器让他重载的动作,会初始化元件样式,但是之前的做过的选中改变会保留,(即时看上去没选中,但其实已经选中了)。也就是说更新等让中继器重载的动作只会初始化中继器单位元件的样式位置等,他其自身的属性不会初始化,所以在重载后不要对发生过属性变化的元件进行if判断,会不准确的。

16. 显示元件时的更多效果里的 弹出 效果, 会显示目标元件。在离开触发该动作的当前元件或显示的目标元件范围会自动恢复隐藏目标元件,但是在从当前元件移向目标元件的路上(长宽范围内)不会隐藏。

     设置单个元件显示弹出效果还是不错的,例如鼠标移入时,设置显示另外个元件,移出时隐藏,加了显示(弹出效果)时,移出事件就不需要加了。 但是多个间距不远的元件批量设置类似移入显示(弹出)效果时,会产生显示不出该要显示的元件的问题(怀疑是短时间内在这些元件内移入移出,之前那个自动隐藏动作还没完成就又触发另外个的移入显示弹出事件了,),特别是从这些元件中的一个移出,并且并向着另外一个元件移入时,非常容易出现该问题。遇到这种情况,还是老实点别加弹出效果,加移入移出事件吧

17. 将一个动态面板A放在另外个动态面板B内的显示范围外(就是会被蒙住),如果将A设置固定在浏览器并且构选(保持在前面),生成html后A会脱离B的蒙板效果显示出来。不需要勾选keep in front就会脱离B,keep in front只是设置前后层次,勾的永远在没勾的上面,都勾的话那就看原本谁在更上面。

18. 中继器的那个默认矩形不要舍不得删掉,用它可能会出现改矩形样式设置不起效的情况

19. 通过选择列表中的该项目列表页面打开页面链接时,会传递当前页面的全局变量,但通过自定义输入链接时,不会自动传递全局变量。 需要手动加上变量,例如 htttp://[[this.name]]#变量名=值. 这个变量名需要在项目设置中先预设好

20. 从中继器外部直接取中继器内部元件的值,会获得当前页当前排序筛选后的第一行的该元件的值。第一行的元件是否显示不影响取它的值,还是它

21. 对中继器设置每页显示项数,不能通过itemcount来获取当前页的项数,因为其并未是筛选(itemcount用来获取筛选后的项数),还要用visibleitemcount来获取当前页项数。 而每页过滤器筛选后的项数用itemcount和visibleitemcount都可以

22. 中继器的3个count函数, visibleitemcount是对应设置每页多少项来用的,和是否显示隐藏与否无关,哪怕隐藏着的行,也会计数。 itemcount是对应筛选来用的,筛选后还剩多少行数据。 datacount是对应整个数据行数减去被删除的行数。

23. 在将矩形转换成图像前,设置矩形的选中、鼠标悬浮等交互样式,在转换成图像后,会保留交互样式。 但如果在转换成图像后,就无法针对原矩形里的文字设置交互样式了。

24. 搜索类型的输入框,在浏览器中的X消除输入框内容时,不响应该部件的文字内容变化时事件。

25. 局部变量名 不能取 name这种系统保留的。取name的话,调用会出来[[this.name]] 而不是[[name]] 。全局变量也别去用系统保留的变量名。

26. 至目前7.0版本为止,axure还没有 对象.image 函数来获取某个图像元件的图片。如果要获取图像元件的图片,只能将目标图片整成中继器,通过取中继器的数据行的图片列值能获得想要的图片。

27. 中继器每行数据元件的坐标是中继器每个副本内该元件的绝对坐标,水平或垂直分布后改变的是各副本的相对坐标位置。中继器(repeater) 的意思就是 一个包含各元件以及对应数据行数据的重复器,每行数据及元件都是承载在中继器的一个个副本之上。

28. 对中继器进行 排序、过滤、翻页、分页 操作都会重新触发它的每项加载时事件。但前提是visible出来的item(包括行内容和行数)发生了变化,例如过滤条后结果相同的话,过滤时就不会触发每项加载。而添、删、更新行操作则是肯定会触发每项加载,哪怕是更新空数据,rule=FALSE。

29. 页面加载事件过多时,默认隐藏的元件,会来不及隐藏,先显示出来的,延迟过后再隐藏。解决的办法是把元件包在动态面板内,动态面板默认隐藏,这样就好了。猜测是面板的执行优先级要高很多。

30. 滚动到锚点除了应用在页面滚动,还可以用在动态面板内的滚动。

31. 可以用 [[下拉框对象.text]]  来获取 该下拉框的当前选项值。

32. 无法滚动锚点到隐藏的元件,可用透明的元件替代。 但隐藏着不影响取他的属性,例如x,y,top,width等。

33. 将一个 对象.函数 或 其他表达式 存进1个变量,当调取这个变量时,得到的是这个表达式的字符串,而不是这个表达式执行后的结果。

34. 想要将一个 动态面板里的 被选择过为动作对象的元件,移到其他层去。axure会存在硬伤。 那些该元件(动态面板)外的元件对他产生的动作,需要重新选择动作对象。因为复制(剪切)黏贴后,虽然名字是一样,但已经是2个不同的对象了。

     不过,他自己内部的元件对他进行的动作,剪切黏贴后,动作对象自动会将他原样选择好。 因为他的相对对象没有变化。也挺好理解的,还认得他父亲(承载物,也就是动态面板)

35. 中继器里面不能再包含中继器,哎。。

36. 动效里的 swing(中文 摆动)的效果为 钟摆从最低点到最高点的速度变化,看上去类似匀减速运动。

37. 假设有A,B,C 3个纵向排列的元件,点击A时,隐藏B,并且拉伸(pull)向下的C,光是这样直接看效果没问题。 如果点击A时,加入一条移动C到绝对位置的动作,再隐藏B向下pull C,生成后会发现执行了移动C的动作,pull C的效果不生效。原因就是,移动C到绝对位置的动作和pull(或push)动效其实是相互冲突的,当有指定的移动被推拉元件到绝对位置的动作时,只执行指定移动到绝对位置动作,pull/push动效不再执行。而相对移动的动作是不受影响的。

38. 对多个抽屉式元件 执行带拉伸效果的显示和隐藏动作,要注意动作的顺序与元件对象的位置顺序一致。不然的话会出现位置顺序错位的情况。

39. 中继器行与行(克隆与克隆)之间的拉伸显示隐藏效果,是不起作用,推拉不了。

40. 中继器每项加载事件中, 增加 删除 更新 该中继器行的 直接或间接(跳板)动作,不会生效。原因是,增 删 更时会再触发每项加载事件,进入自身循环了。

41. 打开窗口链接中,有2个操作选项。a 有时会用到,b基本用不到,也尽量不要用浏览器上的返回,会有意料不到的问题。

     a: 重载当前页面,保留变量的变化。 选这个时,会重载当前页面,但其实是在当前窗口打开了一个和当前页面一样的页面(会发现当前页面窗口可以返回),有别于F5。 对生成原型后变量的变动保留。 并且执行a时会将当前页面创建为当前窗口最初页面。

     b: 返回前一页,不保留变量的变化。选这个时,会返回到当前窗口的前一个页面,最多能返回到当前窗口可返回到的最初那个页面。变量将会被初始到初始页面的初始变量值。

     例如从home页打开进入page1,再执行了a ,将会后进入一个新的page1, 再执行b, 那样将会返回到原始的page1,此时返回b是返回不到home的了(因为最初页面已变成了执行a时创建的page1初始页)。变量初始到page1时的初始变量值。

          如果从home页打开进入page1,执行b,那么将在当前窗口返回home页,并且将变量初始到home页的初始变量值。

42. 无法对 热点元件(Hot Spot) 进行 禁用动作,动作中没这个选项。

43. 改变动态面板尺寸也能添加动效,进入摩擦,退出摩擦,弹跳等,和移动元件一样。

44. 元件起名称时避免使用带.的纯数字名字,例如2.0 ,3.0  。会出现调用this.name时调用错误的情况。 例如2.0取出来的是2。 如果是数字+字符,则不影响,例如2.0shit。 当然如非必要,也不要用带.的名字,省得有怪问题。

45. 对图片切片,如果图片之前被选择为对象的话,切完后要重新选择 

46. 中继器每项加载时事件,只会执行当前visibleitem个数的次数。例如每页只显示2项的话(总共10项),每项加载事件只会触发2次,而非10次。(在每项加载事件里,加个变量自增,即可测试)。换句话说,当页显示多少,就加载多少

47. 元件事件中的onContextMenu就是鼠标右键单击时。 onMouseMove 是指在元件范围内鼠标移动时触发,并且有内在的最小移动单位,例如一下子移动较大距离,会触发多次该事件下的动作。

48. substring 第一个参数大于第二个参数时,会自动调换顺序,slice不行,第二个必须大于第一个,不然为空。相等的话,结果是空,另外substring不支持负参数倒取,slice和substr支持负数。 trim()是去除首尾空格。 replace这个函数可灵活运用成去除字符串中某个指定的字符,只要将第二个newvalue设置成'' 

49. 显示一个带阴影的元件,如果加了显示动效,则会在显示动效完成后,才显示出阴影部分,非常突兀,避免使用

50. pagestyle里的居左和居中是对页面中所有元件集来排版的,并且排版优先级高于事件,但只有在元件集宽度小于窗口宽度时才生效。如果元件集宽度大于窗口宽度时,则会失效,这时会交由事件处理。

51. Tree 元件的节点,点击时就会自动单选选中,不用再特地添加选中事件。设置一个节点的选中样式就会套用到同层的其他其他节点,挺方便的

52. 8.0beta版本中 Fire Event 动作 对象不能选自己本身, 选的话不生效。 已修复

53. 浏览器滚动轴 宽度17, window.width和window.height是不包括滚动轴的。而on window resize是指浏览器窗口大小发生变化时触发,而不是window.width/height发生变化时触发,也就是说,多了滚动轴,window.width发生了变化,但不会触发on window resize。 动态面板滚动轴宽度16.

54. 8.0中move动作的boundary设置的意思是,移动的终点会满足设置的边界,不会超出设置的边界。例如设置了left<300, 那最多只会移动到x坐标299

55. atan(y/x)的取值范围是-pi/2 ~ pi/2 ,因为y/x的正负值会有重复,例如二四区都是负数。也就是只能取到右方弧度。而atan2(y,x)是坐标点与原点的夹角角度,不存在重复的情况,每个点的角度都是唯一的,所以取值范围是

-pi ~ pi。 应用中,往右侧计算角度时,2者没区别,但如果要向左取角度的话,只能用atan2(y,x)。http://baike.baidu.com/link?url=R-8P0_XFLc5vgyvEAl-8kKIdPODhlkBnvgKp4gVIy1ZvMtJGB3msGVUgpDqZVShRR-pKF5dGIBQjlw_A5j_E6_

56. on move 和 on resize 的触发动作,只会在动作发生的刚开始触发。也就是说,如果一个move带持续时间的,只会在刚开始move时触发,不会在持续过程中持续触发。 需要持续触发的话,用短步伐循环。

57. 关于8.0中的布尔运算,运算对象主次的规律,发现:1. 拖动选择时,谁在下层,谁为主。2. 点选选择时,先点谁,谁为主。 主的概念就是运算完后,保留主,保留主的样式。当然还有bug,经常运算无效甚至崩溃。。

58. drag动作能将元件拖动出他上一层的动态面板范围,但无法超出再上一层的动态面板范围

59. 使用onPanelStateChange,并且判断当前state时,是只change完后当前的state,而不是change前的state

60. inLine Frame隐藏时,不响应打开加载页面的交互动作。只有当显示后才开始打开。因此会白闪一下,可以用张假的loading图显示消息覆盖在上面,提高效果

61. 一个按钮上的文字,不要设计成  XXX/XXX 这样, 会很奇怪。一个做UI设计的人教我的。确实是

62. 要使用变量和数字计算并调用结果时,需要写入[[]]内。 例如 set size  width=[[temp/3.2]], 而不能 [[temp]]/3.2

63. 返回页面要判断返回哪个页面时,可以有几种方法。 一,现在用的使用变量来判断,较麻烦,但很精确。 二,使用open link的选项,back to previous page,但当前页的变量变化将不生效。 三,在入口页onpageload时,存个变量,值=[[pagename]],来判断,但返如果入口页也有返回的话,就比较麻烦了。

64. 补充第15条,中继器数据触发 onItemLoad时,不会重置 诸如 mark select 的true/false值, 之前mark的行,ismarked仍然会是true,需要添加unmark

65. 在项目属性设置了共用相交边框的情况下,元件show hide 向下向右推拉有边框的时,元件之间的距离不能<0(不能重叠),不然会错位。 而实际中,=0(正好相切)在chrome浏览器中也会错位,所以 必须 >=1 之间保留1px的空间。 因为设置了2元件相邻时,共用相切的边框,等于是将元件本身的边框向外括了1/2边框宽度,实际以及进入相邻的元件内了,导致推拉出现错位。

66. 中继器的 增删更 都会触发 中继器的onItemLoad, 但onItemLoad里不要添加 对中继器本身的动作,会不触发动作

67. 通过固定动态面板或页面样式 改变元件位置的, 取他的x、y 时,仍然是在原型中的x、y,并未发生过移动变化

68. 旋转动作中的设置,  direction的clockwise是指 已瞬时钟的方向定义/计算degree,  counterclockwise则是以逆时钟的方向定义/计算degree

69. onWindowResize 包含了 onPageLoad,也就是说只要设置了onWindowResize事件,页面加载时也会生效

70. 设置4条边不显示边框的元件无法改变圆角,无论它有没有边框

71. 元件的内部阴影默认 0, 0 offset,实际效果是偏离1,1的。 要让它上下左右对称的话,0,0改成 -1, -1

72. 横线的实际宽度会多出1个像素,如果要在页面加载时设置横线宽度=窗口宽度的话,会出现滚动条,设置 窗口宽度-1 则正好。 竖线的高应该也是一样

73. move to, x或y 为空时,则自动为 [[this.x]] [[this.y]]

74. 160-160 * (300/TotalDrag+300)。 -160为最大控拖的距离,分子300为控制拖动真正动起来的起始点,分母300控制偏离,也就是控制坡度。 来模拟阻尼

75. 当2个shape相邻,且填充色有透明度,项目设置shape边框共用(pre7.0), 这时候即使shape边框为none,在相临处也会有一条灰色的边框线

76. 显示隐藏 拉伸内容时,内容不要成组,而要用动态面板打包。 成组时,多个抽屉点击切换拉伸时会出现内容间错位的问题

77. Resize一个shape时,如果矩形原尺寸过小,例如长宽小于10,甚至长宽为1,添加改变它尺寸动作时,改变后的尺寸会和设置的尺寸不一样。 用动态面板则没问题

78. Fire Event 控制对象执行切换动态面板状态动作时,切换状态到 value的话,会不执行该动作,得切换到固定的状态才行。 显然是个bug

79. show动态面板A内部的元件,效果选lightbox, 且动态面板A满足2个条件(1.动态面板固定浏览器位置;2.动态面板不勾选Fit to Content),遮罩只显示动态面板区域大小,但点击区域外也有自动隐藏元件效果

80. 出现消失滚动条不会触发onWindowResize ,只有手动改变浏览器窗口大小 或 页面加载时会触发

81. 动态面板切换 every repeat time 包括了 animation time。特效播放完后,才算切换状态完成(if状态的值)

82. fire event可以 fire page的动作

83. 利用fire event做循环动作时,在循环过程中,无法再fire它同个动作使其循环归为初始。而在动作追踪中,每一次手动fire都会生成一次额外的循环。所以,如果循环需要暂停、归位等情况,还是用动态面板repeat来做循环

84. fire event中继器里的对象时,只会fire 未过滤掉的项。要fire 所有,得remove filter再fire,再恢复filter。remove后最好跟5ms delay

85. bring front后的层级是在同级下比较的,例如页面下有Panel A 和 B,先bring A front,再bring B下的元件b front, 那么A仍然在b之上,因为A已经在B之上了,b只在B中最上层

86. 显示面板同时要显示面板内的面板,都有动效,这时先show父后show子。隐藏时先hide子后hide父。这样动效会更流畅

87. 中继器的某个元件移动位置时,在他排列之后的克隆会随他一起移动,保持原本的相对位置。另外,克隆体越后,视觉层级越上。

posted @ 2014-12-31 16:02  KK&TT  阅读(4950)  评论(0编辑  收藏  举报
AmazingCounters.com