fullpage插件是一個基於jquery的全屏滾動插件,支持ie8+、以及其他的主流瀏覽器,功能強大,體積只有7k,下面記錄一些筆記,需要的時候可以查看。
fullPage使用筆記:
1、引入fullPage的css樣式庫、引入jquery(1.6以上)、引入fullPage的js文件、推薦使用cdnjs加速
2、頁面結構:
<div id="fullPage">
<div class="section">一些內容</div>
<div class="section”>//slide幻燈片,可以滑動
<div class="silde">1</div>
<div class="silde">2</div>
<div class="silde">3</div>
<div class="silde">4</div>
</div>
<div class="section">一些內容</div>
<div class="section">一些內容</div>
</div>
3、API:
sectionsColor: 可以爲每一個section設置background-color屬性
controlArrows: 定義是否通過箭頭控制slide幻燈片,默認爲true。當設置爲false時,幻燈片兩側的箭頭會消失。在移動設備上可以通過滑動來操作幻燈片。
verticalCentered: 每一頁的內容是否垂直居中,默認爲true,一般保持默認。
resize: 字體是否隨着窗口縮放而縮放,默認爲false。
scrollingSpeed: 滾動速度,單位是毫秒,默認是700。
anchors: 定義錨鏈接,默認值爲[]。有了錨鏈接,用戶可以快速打開定位到某一頁面。注意定義錨鏈接的時候,值不要和頁面中任意的id或name相同,尤其是ie瀏覽器下,而且定義時不需要加#。
lockAnchors: 是否鎖定錨鏈接,默認爲false。如果設置爲true,那麼定義的錨鏈接,也就是anchors屬性沒有效果。這個配置使用的比較少。
easing: 定義頁面section滾動的動畫方式,默認爲easeInOutCubic,如果修改此項,需要引入jquery.easings插件,或者jquery ui。
css3: 是否使用css3 transform來實現滾動效果,默認爲true。這個配置項可以提高支持css3的瀏覽器,比如移動設備等的速度,如果瀏覽器不支持css3,則會使用jquery來代替css3實現滾動效果。
loopTop: 滾動到最頂部後是否連續滾動到底部,默認爲false。
loopBottom滾動到最底部後是否連續滾動返回頂部,默認爲false。
loopHorizontal: 橫向slider幻燈片是否循環滾動,默認爲true。
autoScrolling: 是否使用插件的滾動方式,默認爲true,如果選擇false,則會出現瀏覽器自帶的滾動條,將不會按頁滾動,而是按照滾動條的默認行爲來滾動。
scrollBar: 是否包含滾動條,默認爲false,如果設置爲true,則瀏覽器自帶的滾動條會出現,頁面滾動時還是按頁滾動,但是滾動條默認行爲也有效。
paddingTop/paddingBottom: 設置每一個section頂部和底部的padding,默認都爲0.一般如果我們需要設置一個固定在頂部或者底部的菜單,導航、元素等,可以使用這兩個配置項。
fixedElements: 固定的元素,默認爲null,需要配置一個jquery選擇器。在頁面滾動的時候,fixedElements設置的元素固定不動。
keyboardScrolling: 是否可以使用鍵盤方向鍵導航,默認爲true。
touchSensitivity: 在移動設備中滑動頁面的敏感性,默認爲5,是按百分比來衡量,最高爲100,越大越難滑動。
continuousVertical: 是否循環滾動,默認爲false。如果設置爲true,則頁面會循環滾動,而不像loopTop或loopBottom那樣出現跳動,這個屬性與loopTop、loopBottom不兼容,不要同時設置。
animateAnchor: 錨鏈接是否可以控制滾動動畫,默認爲true,如果設置爲false,則通過錨鏈接定位到某個頁面顯示不再有動畫效果。
recordHistory: 是否記錄歷史,默認爲true,可以記錄頁面滾動的歷史,通過瀏覽器的前進後退的導航。注意如果設置了autoScrolling:false,那麼這個配置也將被關閉,即設置爲false。
menu: 綁定菜單,設定的相關屬性與anchors的值對應後,菜單可以控制滾動,默認爲false。可以設置爲菜單的jquery選擇器。例子:
<ul id="fullpageMenu">
<li data-menuanchor="page1"><a href="#page1"></a></li>
<li data-menuanchor="page2"><a href="#page2"></a></li>
<li data-menuanchor="page3"><a href="#page3"></a></li>
<li data-menuanchor="page4"><a href="#page4"></a></li>
</ul>
配置:
menu:’#fullpageMenu’
navigation: 是否顯示導航,默認爲false。如果設置爲true,會顯示小圓點,作爲導航。
navigationPosition: 導航小圓點的位置,可以設置left或者right。
navigationTooltips: 導航小圓點的tooltips設置,默認爲[],主要按照順序設置。
showActiveTooltip: 是否顯示當前頁面的導航的tooltip信息,默認爲false。
slidesNavigation: 是否顯示橫向幻燈片的導航,默認爲false。
slidesNavPosition: 橫向幻燈片導航的位置,默認爲bottom,可以設置top或者bottom。
scrollOverflow: 內容超過滿屏後是否顯示滾動條,默認爲false。如果設置爲true,則會顯示滾動條,如果要滾動查看內容,還需要jquery.slimscroll插件的配合。slimscroll插件主要用於模擬傳統瀏覽器滾動條。
sectionSelector: section的選擇器,默認爲.section。
slideSelector: slide的選擇器,默認爲.slide。
方法:($.fn.fullpage.moveSectionUp())
moveSectionUp(): 向上滾動一頁。
moveSectionDown(): 向下滾動一頁。
moveTo(section,slide): 滾動到第幾頁,第幾個幻燈片,注意頁面是從1開始,而幻燈片是從0開始。
slientMoveTo(section,slide): 滾動到第幾頁,和moveTo一樣,但是沒有動畫效果。
moveSlideRight(): 幻燈片向右滾動。
moveSlideLeft(): 幻燈片向左滾動。
setAutoScrolling(boolean): 動態設置autoScrolling。
setLockAnchors(boolean): 動態設置lockAnchors。
setRecordHistory(boolean): 動態設置recordHistory。
setScrollingSpeed(milliseconds): 動態設置scrollingSpeed。
setAllowScrolling(boolean,[directions]): 添加或刪除鼠標滾輪/滑動控制,第一個參數true爲啓用,false爲禁用,後面的參數爲方向,取值包括all, up, down, left, right, 可以使用多個 , 逗號分隔。
destroy(type): 銷燬fullpage特效,type可以不寫,或者使用all,不寫type,fullpage給頁面添加的樣式和html元素還在,如果使用all,則樣式、html等全部銷燬,頁面恢復和不使用fullpage相同的效果。
reBuild(): 重新更新頁面和尺寸,用於通過ajax請求後改變了頁面結構之後,重建效果。
回調函數:
afterLoad(anchorLink,index): 滾動到某一section,且滾動結束後,會觸發一次此回調函數,函數接收anchorLink和index兩個參數,anchorLink是錨鏈接的名稱,index是序號,從1開始計算。
ps:可以根據anchorLink和index參數值的判斷,觸發相應的事件。
onLeave(index,nextIndex,direction): 在我們離開一個section時,會觸發一次此回調函數,接收index、nextIndex和direction 3個參數:
index:是離開的“頁面”的序號,從1開始計算。
nextIndex:是滾動到的目標的“頁面”的序號,從1開始計算。
direction:判斷往上滾動還是往下滾動,值是up或者down。
通過return false;可以取消滾動。
afterRender(): 頁面結構生成後的回調函數,或者說頁面初始化完成後的回調函數。
afterResize(): 瀏覽器窗口尺寸改變後的回調函數。
afterSlideLoad(anchorLink,index,slideAnchor,slideIndex): 滾動到某一幻燈片後的回調函數,與afterLoad類似。
onSlideLeave(anchorLink,index,slideIndex,direction,nextSlideIndex): 在我們離開一個slide時,會觸發一次此回調函數,與onLeave類似。