導(dǎo)航欄固定頂部跟隨效果在網(wǎng)站上是很常見的,許多頁面內(nèi)容很長時,需要這種效果來迅速跳轉(zhuǎn)不同頁面區(qū)域,今天來寫一個比較簡單的導(dǎo)航欄固定頂部跟隨效果的demo。
效果如圖:
HTML如圖:
CSS如圖:
JS如圖:
這里主要講解的是js部分,demo引入了jQuery,使用jQuery語法先聲明navTop把導(dǎo)航欄(#navBox)距離頂部的距離賦值給它,在寫一個滾動事件的函數(shù)(scroll()),獲取滾動條距離頂部的距離 賦值給scrollTop,在滾動函數(shù)里用if判斷比較這個的值,當(dāng)scrollTop大于等于navTop,添加一個樣式類名,使其定位在頁面頂部,反之,刪除此類名還原導(dǎo)航欄。
當(dāng)滑動滾動條時,頁面區(qū)域滾動到不同區(qū)域,導(dǎo)航欄需要相對應(yīng)到不同區(qū)域的a鏈接是選中的狀態(tài),這就要先獲取每個區(qū)域距離頂部的值,先聲明一個arr空數(shù)組,然后each循環(huán)每個區(qū)域模塊距離頂部的值,通過push添加每個值到arr數(shù)組里,最后觸發(fā)滾動函數(shù)時,for循環(huán)里通過i++條件和if判斷當(dāng)前滾動條距離頂部的值大于等于第i個的值和state的布爾值,通過下標(biāo)同樣設(shè)置a鏈接添加選中類名,滾動事件結(jié)束時設(shè)置state的值為true,防止點擊a鏈接時添加類名對應(yīng)不上。
先聲明state不賦值,當(dāng)點擊導(dǎo)航欄的a鏈接時把布爾值false賦值給state,同時頁面會顯示根據(jù)a鏈接href值的id跳轉(zhuǎn)到相對應(yīng)id的區(qū)域模塊。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://pdcharm.com/news/6236.html