Fullpage.js固定導(dǎo)航欄-實(shí)現(xiàn)定位導(dǎo)航欄
FullPage.js 是一個(gè)簡單而易于使用的插件,用來創(chuàng)建全屏滾動(dòng)網(wǎng)站(也被稱為單頁網(wǎng)站)。除了可以創(chuàng)建全屏滾動(dòng)效果以外,也可以給網(wǎng)站添加一些水平的滑塊效果。能夠自適應(yīng)不同的屏幕尺寸,包括平板電腦和移動(dòng)設(shè)備。
開始制作自己的個(gè)人簡歷啦,決定要使用固定導(dǎo)航欄,又打算使用fullpage.js做全屏滾動(dòng)。
仔細(xì)看了fullpage文檔之后,發(fā)現(xiàn)不用額外寫js代碼就可以實(shí)現(xiàn)以下效果:
1.當(dāng)滾動(dòng)翻頁時(shí),導(dǎo)航欄也自動(dòng)定位到這一頁的標(biāo)簽
2.當(dāng)然點(diǎn)擊標(biāo)簽時(shí),也是滾動(dòng)到那一頁而不是直接跳轉(zhuǎn)的。
一、準(zhǔn)備工作肯定是要先導(dǎo)入fullpage.js啦;
官網(wǎng)是https://github.com/alvarotrigo/fullPage.js
<link rel="stylesheet" href="styles/jquery.fullPage.css"> <script src="scripts/jquery.min.js"></script> <script src="scripts/jquery.fullPage.min.js"></script>
fullpage是基于jquery的,所以要記得導(dǎo)入jquery哦。
二、導(dǎo)航欄結(jié)構(gòu)
<ul id="myMenu"> <li data-menuanchor="firstPage" class="menuList"><a href="#firstPage">首頁</a></li> <li data-menuanchor="secondPage"class="menuList"><a href="#secondPage">作品</a></li> <li data-menuanchor="thirdPage" class="menuList"><a href="#thirdPage">技能</a></li> <li data-menuanchor="fourthPage"class="menuList"><a href="#fourthPage">聯(lián)系方式</a></li> </ul>
上面導(dǎo)航欄的結(jié)構(gòu)是這樣的,其中的data-menuanchor就是fullpage要求的,a便簽的href屬性也要相對(duì)應(yīng)的值咯。
三、滾動(dòng)頁的結(jié)構(gòu)很簡單,如下
<div id="fullpage"> <div class="section">1</div> <div class="section">2</div> <div class="section">3</div> <div class="section">4</div> </div>
四、要配置fullpage,js
$(document).ready(function() { $('#fullpage').fullpage({ paddingTop: '50px', anchors:['firstPage', 'secondPage', 'thirdPage','fourthPage'], menu: '#myMenu'}); });
我的配置內(nèi)容如圖,第一條 paddingTop: '50px',是為了給固定導(dǎo)航欄騰出空間
第二條:anchors,這個(gè)是依次給滾動(dòng)頁設(shè)置錨點(diǎn),注意這里需要和導(dǎo)航欄里的li標(biāo)簽的data-menuanchor屬性以及a的href屬性對(duì)應(yīng)。
第三條:就是綁定菜單,也就是上面的導(dǎo)航欄。
更多配置項(xiàng)參考這里:https://github.com/Niefee/My-study-records/blob/master/2016/1/2016%E5%B9%B41%E6%9C%8818%E6%97%A5.markdown
五、增加active類的樣式
這樣,fullpage就配置好了,但是導(dǎo)航欄的樣式還不能根據(jù)頁面變化我們先查看一下控制臺(tái)
當(dāng)頁面滾動(dòng)時(shí),fullpage.js會(huì)給菜單里的對(duì)應(yīng)項(xiàng)加入active類,這樣就好辦了我們加一條css樣式,給active類改變背景色
.active{background-color: #609F98;}
這樣,所有的效果就實(shí)現(xiàn)啦
PS:潛在的小bug,因?yàn)閒ullpage會(huì)在當(dāng)前滾動(dòng)頁也加入active類,也就意味著這個(gè)css樣式會(huì)影響該頁的背景顏色(還好我用的背景圖,不受影響,機(jī)智如我,哈哈),我猜想要解決的話,那可能要給section類加背景顏色,再加個(gè)!important吧。
好了,關(guān)于Fullpage.js固定導(dǎo)航欄-實(shí)現(xiàn)定位導(dǎo)航欄的相關(guān)內(nèi)容就給大家介紹到這里,希望對(duì)大家有所幫助!
- JS 實(shí)現(xiàn)導(dǎo)航欄懸停效果
- JavaScript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊導(dǎo)航欄變色特效
- JavaScript實(shí)現(xiàn)滑動(dòng)導(dǎo)航欄效果
- JS滾動(dòng)到指定位置導(dǎo)航欄固定頂部
- 一步步教大家編寫酷炫的導(dǎo)航欄js+css實(shí)現(xiàn)
- js導(dǎo)航欄單擊事件背景變換示例代碼
- JavaScript NodeTree導(dǎo)航欄(菜單項(xiàng)JSON類型/自制)
- 原生JS實(shí)現(xiàn) MUI導(dǎo)航欄透明漸變效果
- js實(shí)現(xiàn)帶緩動(dòng)動(dòng)畫的導(dǎo)航欄效果
- JS實(shí)現(xiàn)百度新聞導(dǎo)航欄效果
相關(guān)文章
Three.js使用OrbitControls后修改相機(jī)旋轉(zhuǎn)方向無效解決辦法
three.js是用javascript寫的基于webGL的第三方3D庫,下面這篇文章主要給大家介紹了關(guān)于Three.js使用OrbitControls后修改相機(jī)旋轉(zhuǎn)方向無效的解決辦法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01- 什么是函數(shù)式編程?根據(jù)百度百科的描述,“函數(shù)式編程是種編程典范,它將電腦運(yùn)算視為函數(shù)的計(jì)算。函數(shù)編程語言最重要的基礎(chǔ)是 λ 演算(lambda calculus)。而且λ演算的函數(shù)可以接受函數(shù)當(dāng)作輸入(參數(shù))和輸出(返回值)?!?/div> 2015-10-10
基于three.js實(shí)現(xiàn)的3D粒子動(dòng)效實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于如何基于three.js實(shí)現(xiàn)的3D粒子動(dòng)效的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用three.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04js數(shù)組常用19種方法(你會(huì)的到底有多少呢)
這篇文章主要給大家介紹了關(guān)于js數(shù)組常用19種方法,大家可以看看你會(huì)的到底有多少呢,在日常開發(fā)中我們會(huì)接觸到j(luò)s中數(shù)組的一些方法,需要的朋友可以參考下2023-09-09原生js獲取iframe中dom元素--父子頁面相互獲取對(duì)方dom元素的方法
下面小編就為大家?guī)硪黄鷍s獲取iframe中dom元素--父子頁面相互獲取對(duì)方dom元素的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08最新評(píng)論