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. 中繼器的某個元件移動位置時,在他排列之后的克隆會隨他一起移動,保持原本的相對位置。另外,克隆體越后,視覺層級越上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM