剛做好公司網站,透過全螢幕滾動,顯著提高了官網的瀏覽體驗。遂總結一下使用fullpage.js的方法。歡迎指正
一. fullpage.js簡介
fullpage.js是一套實現瀏覽器全屏滾動的js插件,很多網站現在都使用了其來實現較好的瀏覽體驗。
可實現的功能:
•支援前進後退與鍵盤控制
•多個回呼函數
•支援手機、平板觸控事件
•支援CSS3 動畫 •支援時可重複視窗縮放約設定滾動寬度、背景顏色、滾動速度、循環選項、回呼、文字對齊方式等等
二.外掛程式下載
npm|npm install fullpage.js
bower|bower install fpage.js
cdn|https://cdnjs.com/libraries/fullPage.js
三.檔案引進方式
<link rel="stylesheet" href="css/jquery.fullPage.css"> <script src="js/jquery.min.js"></script> <script src="js/jquery.fullPage.js"></script>三.檔案引進方式
<div id="fullpage"> <div class="section">section1</div> <div class="section">section2</div> <div class="section">section3</div> <div class="section">section4</div> </div>引入fullpage。我剛開始寫demo的時候,因為順序錯誤,導致不能實現效果,瀏覽器報錯fullpage.js中的jquery未定義。
<div class="section"> <div class="slide"> Slide 1 </div> <div class="slide"> Slide 2 </div> <div class="slide"> Slide 3 </div> <div class="slide"> Slide 4 </div> </div>所有的內容包含在ID名稱為fullpage的div內,不可以加上body。
類別名為.section的div元素便是一個單頁,透過滑鼠滾輪和鍵盤可控制不同頁面之間的替換,也可設定清單導航。
同時,如果要在一個頁面內做橫向的切屏效果,可以在div.section中加入div.slide。程式碼如下:
$(document).ready(function() { $('#fullpage').fullpage( { ....... //options 详情参看https://github.com/alvarotrigo/fullPage.js/ } ); });五.初始化fullpage
<ul id="myMenu"> <li data-menuanchor="firstPage" class="active"><a href="#firstPage">First section</a></li> <li data-menuanchor="secondPage"><a href="#secondPage">Second section</a></li> <li data-menuanchor="thirdPage"><a href="#thirdPage">Third section</a></li> <li data-menuanchor="fourthPage"><a href="#fourthPage">Fourth section</a></li> </ul>設定側邊欄導覽
#myMenu{ position:fixed; ... } $('#fullpage').fullpage({ anchors: ['firstPage', 'secondPage', 'thirdPage', 'fourthPage', 'lastPage'], menu: '#myMenu' });
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> <script language="javascript" type="text/javascript"> function showAllContent(status1,status2){ document.getElementByIdx("showContent").style.display=status1; document.getElementByIdx("showLoad").style.display=status2; } </script> </head> <body onLoad='showAllContent("","none")'> <div id="showLoad" style="z-index:2; display:block; width:auto; height:auto;">页面加载中......</div> <div id="showContent" style="z-index:1; "> //最终要显示的内容<br></div><br><script>showAllContent("none","");</script><br></body><br></html>六.遇到的問題及解決想法
遂嘗試各種解決方法:
1.div.section
section{overflow:hidden}
經測,這個方法並沒有卵用。
具體的實現方法demo:
rrreee