【原創(chuàng)】分享Axure實(shí)現(xiàn)側(cè)邊欄圓點(diǎn)導(dǎo)航功能

現(xiàn)在的網(wǎng)站很常見到一個(gè)頁(yè)面占滿一屏,鼠標(biāo)滾動(dòng)一下即是一屏,同時(shí)右下角也有一個(gè)側(cè)邊欄圓點(diǎn)導(dǎo)航,隨頁(yè)面滑動(dòng),切換選中不同的圓點(diǎn),點(diǎn)擊圓點(diǎn)也可跳轉(zhuǎn)到某個(gè)位置。

這給人非常大氣的感覺,我比較喜歡這種風(fēng)格,正好最近也在研究Axure,于是打算使用Axure來(lái)模擬這種效果。

先放個(gè)動(dòng)圖:

我是Demo

本文將分成兩個(gè)部分來(lái)講解:
1、頁(yè)面繪制
2、交互設(shè)置

一、頁(yè)面繪制

1. 畫出頁(yè)面板塊

首先,根據(jù)需要實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的部分劃分好板塊。此例按照4個(gè)導(dǎo)航劃分為4個(gè)板塊,如下圖:

整體效果圖

2. 制作側(cè)邊欄圓點(diǎn)導(dǎo)航

使用Axure基礎(chǔ)元件制作出4個(gè)實(shí)心圓點(diǎn)和1個(gè)箭頭圓點(diǎn),前者對(duì)應(yīng)4個(gè)板塊,后者表示“回到頂部”。

形狀繪制比較簡(jiǎn)單,分別是由一個(gè)空心外圓加一個(gè)實(shí)心圓點(diǎn)/箭頭組合而成的形狀,具體過程就不在這里贅述啦~

側(cè)邊欄圓點(diǎn)導(dǎo)航效果圖

我們還要設(shè)置下圓點(diǎn)被選中時(shí)的樣式。

先選中外圓,點(diǎn)擊“選中”交互樣式設(shè)置,設(shè)置“線段顏色”為橙色(#FF9900);
再選中內(nèi)圓,點(diǎn)擊“選中”交互樣式設(shè)置,設(shè)置“填充顏色”為橙色(#FF9900);
如果內(nèi)圓有設(shè)置邊框就將線段顏色也修改為同色值。

設(shè)置外圓樣式
設(shè)置外圓樣式
設(shè)置內(nèi)圓樣式

設(shè)置好外圓和內(nèi)圓的樣式后,再將這兩個(gè)元件進(jìn)行組合(快捷鍵ctrl+g),這樣就配置完成了一個(gè)圓點(diǎn)的交互樣式。其他3個(gè)圓點(diǎn)和箭頭,都可以通過復(fù)制這個(gè)圓點(diǎn)來(lái)快速制作。

為了方便管理,也為了后面的1個(gè)關(guān)鍵步驟(先埋個(gè)伏筆),此處我們也把這5個(gè)圓點(diǎn)轉(zhuǎn)換為“動(dòng)態(tài)面板”吧?。ù颂幨÷圆僮鬟^程10個(gè)字)

OK,側(cè)邊欄圓點(diǎn)導(dǎo)航就這樣搞定啦~~~

需要注意,還有一個(gè)關(guān)鍵點(diǎn),會(huì)讓我們的設(shè)計(jì)過程事半功倍。

由于4個(gè)圓點(diǎn)對(duì)應(yīng)4個(gè)板塊,同一時(shí)間只會(huì)有一個(gè)板塊被選中,所以對(duì)應(yīng)同一時(shí)間也只有一個(gè)圓點(diǎn)會(huì)被選中。

一般情況下我們需要在某個(gè)圓點(diǎn)的“鼠標(biāo)單擊時(shí)”事件中,設(shè)置當(dāng)前元件被選中、設(shè)置其他3個(gè)元件取消選中;如此這般地需要重復(fù)4次操作,太繁瑣了!

其實(shí)有一種更簡(jiǎn)單的方式,就是“設(shè)置選項(xiàng)組”。選項(xiàng)組就類似于Radio控件,具有互斥性——同一時(shí)間只能選中一個(gè)。

選中4個(gè)圓點(diǎn)之后,點(diǎn)擊“屬性”面板下,找到Group下的“設(shè)置選項(xiàng)組名稱”,輸入后回車即可。

設(shè)置側(cè)邊欄導(dǎo)航為選項(xiàng)組

設(shè)置鼠標(biāo)單擊時(shí)事件:

添加動(dòng)作-設(shè)置選中狀態(tài)

點(diǎn)擊確認(rèn),效果如下:

添加鼠標(biāo)單擊事件

其他3個(gè)圓點(diǎn)和箭頭的“鼠標(biāo)單擊時(shí)”事件,可以通過復(fù)制這個(gè)圓點(diǎn)的Case1事件,再作粘貼即可。

3. 制作板塊跳轉(zhuǎn)

將各板塊都轉(zhuǎn)化為動(dòng)態(tài)面板,并分別命好名。其實(shí)不轉(zhuǎn)化為動(dòng)態(tài)面板也是可以的,但是做成動(dòng)態(tài)面板對(duì)于頁(yè)面元件比較多的時(shí)候會(huì)更好管理板塊,跳轉(zhuǎn)定位時(shí)也更方便一些。

選擇好板塊內(nèi)的所有元件,右鍵點(diǎn)擊“轉(zhuǎn)換為動(dòng)態(tài)面板”就可以了。

操作-轉(zhuǎn)換為動(dòng)態(tài)面板

轉(zhuǎn)換前:

頁(yè)面元件界面-轉(zhuǎn)換前

轉(zhuǎn)換后(已命好名,看起來(lái)是不是清爽多了):

頁(yè)面元件界面-轉(zhuǎn)換后

二、交互設(shè)置

好了,準(zhǔn)備工作到此就基本完成了。
下面我們開始重點(diǎn)部分的講解——交互設(shè)置。

我們需要實(shí)現(xiàn)的效果主要有兩點(diǎn):
1)點(diǎn)擊側(cè)邊豎滑動(dòng)條的圓點(diǎn)時(shí),能跳轉(zhuǎn)定位到對(duì)應(yīng)的板塊區(qū)域;點(diǎn)擊箭頭圓點(diǎn)時(shí)回到頂部;
2)滾動(dòng)屏幕時(shí),瀏覽到某個(gè)板塊時(shí),側(cè)邊欄圓點(diǎn)導(dǎo)航的圓點(diǎn)也會(huì)相應(yīng)被選中;

1. 側(cè)邊欄導(dǎo)航的點(diǎn)擊跳轉(zhuǎn)效果

我們先來(lái)實(shí)現(xiàn)第一個(gè)效果。

選中第一個(gè)圓點(diǎn),雙擊Case1用例,如下圖添加動(dòng)作“滾動(dòng)到元件<錨連接>”,元件選擇1-panel(由于前面有命好名,在這里就很方便可以找到了)

設(shè)置滾動(dòng)效果

同理,為其他3個(gè)圓點(diǎn)添加同樣動(dòng)作,元件分別設(shè)置為跳轉(zhuǎn)到對(duì)應(yīng)板塊的動(dòng)態(tài)面板。

到目前為止,我們可以按F5預(yù)覽一下效果了,點(diǎn)擊圓點(diǎn)是不是能夠跳轉(zhuǎn)到對(duì)應(yīng)的板塊了呢?恭喜恭喜…哈哈…

咦~好像不對(duì),是不是跳轉(zhuǎn)了一下,發(fā)現(xiàn)側(cè)邊欄圓點(diǎn)導(dǎo)航不見了?

這是因?yàn)閭?cè)邊欄圓點(diǎn)導(dǎo)航是固定在頁(yè)面的,跳轉(zhuǎn)時(shí)頁(yè)面滾動(dòng)自然它就不見了。

這時(shí)我們需要實(shí)現(xiàn)在前面埋下伏筆的關(guān)鍵一步啦——我們?cè)谇懊嫣岬?,要將?cè)邊欄圓點(diǎn)導(dǎo)航轉(zhuǎn)換為動(dòng)態(tài)面板,因?yàn)橹挥袆?dòng)態(tài)面板會(huì)有一個(gè)犇的功能:“固定到瀏覽器”,可以實(shí)現(xiàn)浮動(dòng)的效果。

設(shè)置側(cè)邊欄固定位置

位置可以自由設(shè)定,這里我設(shè)置為固定在右下角。

設(shè)置-固定到瀏覽器

到這里,已經(jīng)完成了第一個(gè)效果的制作:

整體效果

2. 頁(yè)面滾動(dòng)效果制作

下面我們開始第二個(gè)效果:頁(yè)面滾動(dòng)到某一板塊時(shí),對(duì)應(yīng)的圓點(diǎn)會(huì)被選中。

這里我們需要思考一下,圓點(diǎn)被選中是一個(gè)動(dòng)作,必須要由一個(gè)事件來(lái)觸發(fā),那這個(gè)事件應(yīng)該是什么?應(yīng)該是頁(yè)面滾動(dòng)事件吧?嗯,對(duì)的。我們需要監(jiān)控到當(dāng)前是滾動(dòng)到哪個(gè)板塊,才能夠觸發(fā)事件。那么關(guān)鍵的問題來(lái)了,我們應(yīng)該怎樣監(jiān)控頁(yè)面的滾動(dòng)?

答案就是:建立熱區(qū)。

在頁(yè)面合適位置添加一個(gè)熱區(qū)元件,將作為事件觸發(fā)的一個(gè)條件。

添加一個(gè)熱區(qū)作為觸發(fā)條件

有2點(diǎn)需要注意:

  1. 與豎滑動(dòng)條類似,熱區(qū)也是需要固定在瀏覽器的某個(gè)位置,不可以由于頁(yè)面滾動(dòng)而消失,因此也需要轉(zhuǎn)換為一個(gè)動(dòng)態(tài)面板。
  2. 熱區(qū)位置,與板塊區(qū)域的高度有關(guān)。如果放在瀏覽器頂部區(qū)域,而板塊高度不高無(wú)法接觸到熱區(qū),則無(wú)法觸發(fā)事件。

我們先單擊頁(yè)面空白處,可以看到有“窗口滾動(dòng)時(shí)”的事件,

為頁(yè)面添加動(dòng)作-窗口滾動(dòng)時(shí)

我們先添加一個(gè)用例。我們是要實(shí)現(xiàn)圓點(diǎn)被選中,所以添加一個(gè)動(dòng)作“設(shè)置選中”(強(qiáng)烈建議對(duì)圓點(diǎn)命名,便于查找)

添加用例-設(shè)置選中

這時(shí)就要使用到上面建立的熱區(qū)來(lái)監(jiān)控到達(dá)哪個(gè)板塊——只有當(dāng)板塊到達(dá)熱區(qū)區(qū)域時(shí),才會(huì)觸發(fā)事件。在Axure中,是通過給事件用例添加觸發(fā)條件來(lái)實(shí)現(xiàn)的。

設(shè)置完選中狀態(tài)后,需要添加一個(gè)條件:

為用例添加條件

其他3個(gè)板塊也是同樣操作,添加1個(gè)新用例,添加條件,設(shè)置圓點(diǎn)的選中狀態(tài)。

“窗口滾動(dòng)時(shí)”事件的用例設(shè)置

Demo到此就制作完成啦!

最后……是不是有童鞋發(fā)現(xiàn)似乎漏了一個(gè)地方——“回到頂部”的功能沒有實(shí)現(xiàn)呢,哈哈,這是留給大家練練手的啦~


注:
第一次發(fā)文,如有地方寫得不明白,歡迎拍磚、共同探討

有需要源文件的童鞋,可以跟我私聯(lián) :-)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,320評(píng)論 4 61
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 47,161評(píng)論 22 665
  • 原文鏈接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影閱讀 33,165評(píng)論 6 472
  • 一輩子做盡了好事 但最后死于非命 也是正常的
    zmyz666閱讀 175評(píng)論 0 0
  • 生命,是一場(chǎng)未知的旅途,在抵達(dá)終點(diǎn)前,我們永遠(yuǎn)都在尋覓它的意義,然而,無(wú)論這一路是精彩或平凡,生命都離不開愛。...
    友仔寵物閱讀 533評(píng)論 1 1

友情鏈接更多精彩內(nèi)容