Axure8實現最常見的左側動態菜單

118 評論 176017 瀏覽 208 收藏 7 分鐘

當初自己想了很久才實現了這種左側的動態菜單欄。今天我跟大家分享一下怎么實現點擊實現動態開合的那種左側菜單欄。希望能幫助到一些剛入門的朋友們。

主要知識點:

  1. 通過顯示/隱藏實現子菜單的開合
  2. 通過移動控制菜單間的跟隨移動,實現動態效果

0.1

問題:

想實現一個如下圖一樣的左側動態菜單欄

0.2

核心思路:

菜單的開合怎么實現?

答:可以通過動態面板的顯示/隱藏實現開合,每級父菜單下的子菜單集放在一個動態面板里,點擊父菜單切換動態面板的可見性,從而實現菜單的開合。

菜單合的時候下級父菜單上移怎么實現?

答:初始狀態子菜單都是合起來的,父菜單由上向下排列。點擊第一個父菜單,其子菜單展開,第二個父菜單下移到第一個父菜單的子菜單級下面,就像這樣:

0.3

“開始開發”移到了“規則中心”的子菜單集下面,而子菜單集是一個動態面板,即將“開始開發”移動動態面板下,這里可以用移動到絕對位置實現,x軸方向將“開始開發”移到動態面板的left,y軸方向將“開始開發”移到動態面板的bottom。

當合上子菜單時,就像這樣:

0.4

同理,合上時隱藏動態面板,x軸方向將“開始開發”移到動態面板的left,y軸方向將“開始開發”移到動態面板的top。

這樣既可實現動態移動的效果。

具體步驟:

  1. 在主面板上畫出如下幾個矩形,排列好,命名好,父菜單分別命名為ra、rb、rc

1

  1. 將子菜單轉化為動態面板,另兩個子菜單們類似處理,并分別命名為:p1、p2、p3

2

  1. 處理第一個父菜單A,添加事件,鼠標單擊時切換動態面板p1的可見性

3

同理設置父菜單B鼠標單擊時切換動態面板p2的可見性,父菜單C鼠標單擊時切換動態面板p3的可見性

按F8預覽后可以發現,我們已經實現了點擊父菜單控制子菜單的開合,但是沒有我們常見的那種動態效果。

5.接下來:當子菜p1合起來(隱藏)的時候,父菜單B在x軸方向移動到p1的左側,在y軸方向移動到p1的頂部。

當子菜單p1打開(顯示)的時候,父菜單B在x軸方向移動到p1的左側,在y軸方向移動到p1的底部。

7

6.同理,設置好p2

當子菜單p2合起來(隱藏)的時候,父菜單C在x軸方向移動到p2的左側,在y軸方向移動到p2的頂部。

當子菜單p2打開(顯示)的時候,父菜單C在x軸方向移動到p2的左側,在y軸方向移動到p2的底部。

這樣我們的父菜單的動態變化就正確了。但是父菜單下的子菜單變化不正確,當父菜單上移時,其子菜單仍然在原地不動,就像這樣:

4

7. 這時我們再設置該父菜單下的子菜單(即動態面板)跟隨父菜單移動,p1的父菜單A是頂級菜單,不會移動,所以設置p2跟隨B移動、p3跟隨C移動即可。

8

8.按F8預覽可以發現,當A的子菜單合并時,B與B的子菜單已經實現跟隨移動,但C與C的子菜單并未移動。如下圖:

6

這里增加設置C跟隨B移動即可:

9

9.至此,這個簡單的左側動態菜單就實現啦。也可以給矩形做一下簡單的顏色處理,為了美觀。就像這樣:

10

哈哈,對你有用的話別忘記點贊哦~需要原型的可以私我。^_^

 

作者:淺若伊淚,產品界的小白。我在找到自己的路上^_^。

本文由 @淺若伊淚 原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 求一份源文件,謝謝??!liuhaitaoa9@163.com

    來自四川 回復
  2. 可以分享下源文件嗎?406843392@qq.com,謝謝~

    來自浙江 回復
  3. 你好,可以把原型發我一下嗎,到第五步走不下去了

    來自北京 回復
  4. 求原型750439087@qq.com

    來自香港 回復
  5. 可以發一份原型給我嗎,非常感謝,3129998786@qq.com

    來自江蘇 回復
  6. 求給一份源碼呀呀感謝非常感謝970684795@qq.com

    來自云南 回復
  7. 你好,原型可以發我一份嗎,luyaofans@163.com,謝謝你呀

    來自重慶 回復
  8. 感覺第五步是不是少了一個步驟

    來自湖北 回復
  9. 5.接下來:當子菜p1合起來(隱藏)的時候,父菜單B在x軸方向移動到p1的左側,在y軸方向移動到p1的頂部。

    當子菜單p1打開(顯示)的時候,父菜單B在x軸方向移動到p1的左側,在y軸方向移動到p1的底部

    這一步在9中 無法實現(父菜單沒有移動)

    來自湖北 回復
  10. 求源文件,,1030465320@qq.com

    來自山東 回復
  11. 您好,大神,可以給個rp源文件嗎?非常感謝。835407192@qq.com

    來自上海 回復
  12. 求原型,樓主大大。450440722@qq.com ??

    來自廣東 回復
  13. 按照步驟一步步做了,第5步那里總是無法實現.剛入行,哪位好人分享個源碼(ryanhu2016@sohu.com),萬分感謝!

    來自山西 回復
    1. 第5步那里按照作者的方法我也無法實現,于是我換了一種方法:P1隱藏時,移動B到(X,Y),直接輸入B的X和Y的數值;P2顯示時,移動B到(X,Y),直接輸入P1的X和Y的數值;P2同樣方法

      來自四川 回復
    2. sorry,我的方法有BUG,當P1、P2同時隱藏時,C無法跟隨B,,,

      來自四川 回復
  14. 不錯,學習了,按照你寫文章的步驟一步一步實現下來的,確實很棒。

    來自北京 回復
  15. 您好,按照做了,感覺總是哪里出問題。1019098794@qq.com,求原型,謝謝。

    來自江蘇 回復
  16. 收起時因為被遮擋住所以沒有動畫, 感覺有缺陷啊

    來自泰國 回復
  17. 求原型,按照做了,感覺總是哪里出問題。991845703@qq.com

    來自浙江 回復
  18. 自己鼓搗倆小時總算實現了~開心,感謝干貨 ??

    來自上海 回復
  19. 我一開始用的顯示時元件向下推動,隱藏時拉動元件,但是也有點問題,求大神原型指點

    來自天津 回復
  20. 求原型,按照做了,感覺總是哪里出問題。273986205@qq.com

    來自天津 回復