Axure教程:如何利用Axure實現可伸縮導航?

4 評論 5269 瀏覽 27 收藏 6 分鐘

在原型設計中,Axure還可以用于實現可伸縮導航功能,展現出菜單欄或者導航欄都無法完全展現的子菜單。那么,通過什么樣的操作可以實現呢,本文為我們揭曉了答案。

一、場景簡述

我們在進行原型設計時,經常會碰到一些用菜單欄或導航欄無法完全展示的子菜單,這時,可伸縮的導航是非常不錯的選擇,簡單在網上截幾個圖感受一下:

二、需求分析

  1. 鼠標移入菜單時,菜單觸發強調效果;
  2. 鼠標移入菜單時,子菜單顯示;
  3. 鼠標由菜單移入子菜單時,子菜單依舊顯示;
  4. 鼠標移出子菜單時,菜單強調效果消失,子菜單隱藏。

三、功能實現

第一步

  1. 拖入矩形+繪制小三角形,如圖,組合命名為菜單,填充淺藍色,字體白色;
  2. 設置選中狀態(強調效果)為深藍色、文字加粗;
  3. 設置小三角形為動態面板,state 1為箭頭向右,state 2為箭頭向左。

如圖所示:

菜單:

動態面板:

第二步,繪制子菜單

如圖,命名為子菜單,設置為隱藏(不要把隱藏設置到熱區上了)。

第三步,設置動畫

1. 對“菜單”組合設置鼠標移入時-選中-當前原件-true

-顯示/隱藏-子菜單組合-顯示

-設置面板狀態-小三角形-state 2

2. 對“菜單”組合繼續設置鼠標移出時–選中–當前原件–false

-顯示/隱藏-子菜單組合-隱藏

-設置面板狀態-小三角形-state 1

3. 對子菜單上覆蓋一層熱區,對熱區重復以上鼠標移入、移出時的響應動作;

對菜單組合設置動作:

對熱區設置動作:

通過以上設置,可以基本實現以下:

  1. 鼠標移入菜單,菜單被強調,子菜單顯示,若鼠標直接從菜單移出,子菜單消失,菜單恢復;
  2. 鼠標移入菜單,菜單被強調,子菜單顯示,鼠標從菜單移入子菜單,菜單繼續被強調,子菜單繼續顯示;
  3. 鼠標從子菜單移出,子菜單消失,菜單恢復。

四、問題思考

細心的朋友可能發現問題,鼠標若是直接從空白區域移入子菜單,子菜單同樣會顯示,菜單同樣會被強調,這個又如何解決呢?

我們作如下思考:當且僅當鼠標移入菜單后再移入子菜單,才能觸發鼠標移入子菜單時的對應動作,因此我們很容易聯想到條件設置,也就是case。

因此,我們引入全局變量,作如下設計:

1. 在鼠標移入菜單時,設置全局變量OnLoadVariable==1;

2. 對熱區-鼠標移入設置-添加條件:

變量值-? if?? OnLoadVariable==1

3. 鼠標移出菜單時,恢復OnLoadVariable==0

但是,依然存在一個問題,若鼠標移入菜單,再移入空白區域后,再從空白區域移入熱區,依然會導致子菜單出現,菜單被強調,大家可以思考一下是否有辦法解決。

當然,Axure只是表達思想的工具,很多時候我們只需要把自己想要表達的思路、想法演示清楚就行了,無需太過追求完美。

演示鏈接:https://xs0z33.axshare.com

(歡迎留言交流)

 

本文由 @Mr R. 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 哈,看完還是不太會?你可能需要從Axure基礎開始學

    這里推薦你加Axure實戰班的助教小可愛@CC-起點學院(微信:qidiancc520),回復關鍵詞:原型禮包

    ?? 領取適合產品新人的原型設計大禮包哦,cc還會不定期分享Axure免費視頻課程呢!

    來自廣東 回復
  2. mark

    回復
  3. 麻煩啊,直接在鼠標移入時設置顯示菜單 彈出效果 旋轉一下三角不行嗎

    來自江蘇 回復
  4. 你最后說的那個問題,可以在“菜單”元件上,做鼠標移出交互的時候,加一個等待時間,然后再把全局變量值設為0

    來自江蘇 回復