Axure教程:如何利用Axure實現可伸縮導航?
在原型設計中,Axure還可以用于實現可伸縮導航功能,展現出菜單欄或者導航欄都無法完全展現的子菜單。那么,通過什么樣的操作可以實現呢,本文為我們揭曉了答案。
一、場景簡述
我們在進行原型設計時,經常會碰到一些用菜單欄或導航欄無法完全展示的子菜單,這時,可伸縮的導航是非常不錯的選擇,簡單在網上截幾個圖感受一下:
二、需求分析
- 鼠標移入菜單時,菜單觸發強調效果;
- 鼠標移入菜單時,子菜單顯示;
- 鼠標由菜單移入子菜單時,子菜單依舊顯示;
- 鼠標移出子菜單時,菜單強調效果消失,子菜單隱藏。
三、功能實現
第一步
- 拖入矩形+繪制小三角形,如圖,組合命名為菜單,填充淺藍色,字體白色;
- 設置選中狀態(強調效果)為深藍色、文字加粗;
- 設置小三角形為動態面板,state 1為箭頭向右,state 2為箭頭向左。
如圖所示:
菜單:
動態面板:
第二步,繪制子菜單
如圖,命名為子菜單,設置為隱藏(不要把隱藏設置到熱區上了)。
第三步,設置動畫
1. 對“菜單”組合設置鼠標移入時-選中-當前原件-true
-顯示/隱藏-子菜單組合-顯示
-設置面板狀態-小三角形-state 2
2. 對“菜單”組合繼續設置鼠標移出時–選中–當前原件–false
-顯示/隱藏-子菜單組合-隱藏
-設置面板狀態-小三角形-state 1
3. 對子菜單上覆蓋一層熱區,對熱區重復以上鼠標移入、移出時的響應動作;
對菜單組合設置動作:
對熱區設置動作:
通過以上設置,可以基本實現以下:
- 鼠標移入菜單,菜單被強調,子菜單顯示,若鼠標直接從菜單移出,子菜單消失,菜單恢復;
- 鼠標移入菜單,菜單被強調,子菜單顯示,鼠標從菜單移入子菜單,菜單繼續被強調,子菜單繼續顯示;
- 鼠標從子菜單移出,子菜單消失,菜單恢復。
四、問題思考
細心的朋友可能發現問題,鼠標若是直接從空白區域移入子菜單,子菜單同樣會顯示,菜單同樣會被強調,這個又如何解決呢?
我們作如下思考:當且僅當鼠標移入菜單后再移入子菜單,才能觸發鼠標移入子菜單時的對應動作,因此我們很容易聯想到條件設置,也就是case。
因此,我們引入全局變量,作如下設計:
1. 在鼠標移入菜單時,設置全局變量OnLoadVariable==1;
2. 對熱區-鼠標移入設置-添加條件:
變量值-? if?? OnLoadVariable==1
3. 鼠標移出菜單時,恢復OnLoadVariable==0
但是,依然存在一個問題,若鼠標移入菜單,再移入空白區域后,再從空白區域移入熱區,依然會導致子菜單出現,菜單被強調,大家可以思考一下是否有辦法解決。
當然,Axure只是表達思想的工具,很多時候我們只需要把自己想要表達的思路、想法演示清楚就行了,無需太過追求完美。
演示鏈接:https://xs0z33.axshare.com
(歡迎留言交流)
本文由 @Mr R. 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
哈,看完還是不太會?你可能需要從Axure基礎開始學
這里推薦你加Axure實戰班的助教小可愛@CC-起點學院(微信:qidiancc520),回復關鍵詞:原型禮包
?? 領取適合產品新人的原型設計大禮包哦,cc還會不定期分享Axure免費視頻課程呢!
mark
麻煩啊,直接在鼠標移入時設置顯示菜單 彈出效果 旋轉一下三角不行嗎
你最后說的那個問題,可以在“菜單”元件上,做鼠標移出交互的時候,加一個等待時間,然后再把全局變量值設為0