fullpage.js


簡介

前幾天做了一個全屏網站效果,你可以試試 fullPage.js。

fullPage.js 是一個基於 jQuery 的插件,它能夠很方便、很輕松的制作出全屏網站,主要功能有:

  • 支持鼠標滾動
  • 支持前進后退和鍵盤控制
  • 多個回調函數
  • 支持手機、平板觸摸事件
  • 支持 CSS3 動畫
  • 支持窗口縮放
  • 窗口縮放時自動調整
  • 可設置滾動寬度、背景顏色、滾動速度、循環選項、回調、文本對齊方式等;

 

fullpage.js demo

http://www.dowebok.com/demo/2014/77/  

 

animate.css demo

https://daneden.github.io/animate.css/

fullpage.js 下載

https://github.com/alvarotrigo/fullPage.js

下載Animate.css

https://daneden.github.io/animate.css/

 

1、如何使用fullpage.js

引用文件:

1
2
3
4
5
6
7
8
9
10
< link  rel="stylesheet" href="css/jquery.fullPage.css">
< script  src="js/jquery.min.js"></script>
 
<!-- jquery.easings.min.js 用於 easing 參數,也可以使用完整的 jQuery UI 代替,如果不需要設置 easing 參數,可去掉改文件 -->
< script  src="js/jquery.easings.min.js"></script>
 
<!-- 如果 scrollOverflow 設置為 true,則需要引入 jquery.slimscroll.min.js,一般情況下不需要 -->
< script  src="js/jquery.slimscroll.min.js"></script>
 
< script  src="js/jquery.fullPage.js"></script>

HTML代碼:

<div id="dowebok">
    <div class="section">
        <h3>第一屏</h3>
    </div>
    <div class="section">
        <h3>第二屏</h3>
    </div>
    <div class="section">
        <h3>第三屏</h3>
    </div>
    <div class="section">
        <h3>第四屏</h3>
    </div>
</div>
每個 section 代表一屏,默認顯示“第一屏”,如果要指定加載頁面時顯示的“屏幕”,可以在對應的 section 加上 class=”active”,如:

<div class="section active">第三屏</div>

JavaScript 代碼

$( function (){
     $( '#dowebok' ).fullpage();
});
 

配置fullpage.js

1、選項

選項 類型 默認值 說明
verticalCentered 字符串 true 內容是否垂直居中
resize 布爾值 false 字體是否隨着窗口縮放而縮放
slidesColor 函數 設置背景顏色
anchors 數組 定義錨鏈接
scrollingSpeed 整數 700 滾動速度,單位為毫秒
easing 字符串 easeInQuart 滾動動畫方式
menu 布爾值 false 綁定菜單,設定的相關屬性與 anchors 的值對應后,菜單可以控制滾動
navigation 布爾值 false 是否顯示項目導航
navigationPosition 字符串 right 項目導航的位置,可選 left 或 right
navigationColor 字符串 #000 項目導航的顏色
navigationTooltips 數組 項目導航的 tip
slidesNavigation 布爾值 false 是否顯示左右滑塊的項目導航
slidesNavPosition 字符串 bottom 左右滑塊的項目導航的位置,可選 top 或 bottom
controlArrowColor 字符串 #fff 左右滑塊的箭頭的背景顏色
loopBottom 布爾值 false 滾動到最底部后是否滾回頂部
loopTop 布爾值 false 滾動到最頂部后是否滾底部
loopHorizontal 布爾值 true 左右滑塊是否循環滑動
autoScrolling 布爾值 true 是否使用插件的滾動方式,如果選擇 false,則會出現瀏覽器自帶的滾動條
scrollOverflow 布爾值 false 內容超過滿屏后是否顯示滾動條
css3 布爾值 false 是否使用 CSS3 transforms 滾動
paddingTop 字符串 0 與頂部的距離
paddingBottom 字符串 0 與底部距離
fixedElements 字符串  
normalScrollElements    
keyboardScrolling 布爾值 true 是否使用鍵盤方向鍵導航
touchSensitivity 整數 5  
continuousVertical 布爾值 false 是否循環滾動,與 loopTop 及 loopBottom 不兼容
animateAnchor 布爾值 true  
normalScrollElementTouchThreshold 整數 5  

2、方法

 

名稱 說明
moveSectionUp() 向上滾動
moveSectionDown() 向下滾動
moveTo(section, slide) 滾動到
moveSlideRight() slide 向右滾動
moveSlideLeft() slide 向左滾動
setAutoScrolling() 設置頁面滾動方式,設置為 true 時自動滾動
setAllowScrolling() 添加或刪除鼠標滾輪/觸控板控制
setKeyboardScrolling() 添加或刪除鍵盤方向鍵控制
setScrollingSpeed() 定義以毫秒為單位的滾動速度

3、回調函數

名稱 說明
afterLoad 滾動到某一屏后的回調函數,接收 anchorLink 和 index 兩個參數,anchorLink 是錨鏈接的名稱,index 是序號,從1開始計算
onLeave 滾動前的回調函數,接收 index、nextIndex 和 direction 3個參數:index 是離開的“頁面”的序號,從1開始計算;

 

nextIndex 是滾動到的“頁面”的序號,從1開始計算;

direction 判斷往上滾動還是往下滾動,值是 up 或 down。

afterRender 頁面結構生成后的回調函數,或者說頁面初始化完成后的回調函數
afterSlideLoad 滾動到某一水平滑塊后的回調函數,與 afterLoad 類似,接收 anchorLink、index、slideIndex、direction 4個參數
onSlideLeave 某一水平滑塊滾動前的回調函數,與 onLeave 類似,接收 anchorLink、index、slideIndex、direction 4個參數

2、如何使用Animate.css

animate.css 是一個css3動畫庫,可以到上面提到的github上去下載,里面預設了很多種常用的動畫,使用也很簡單,因為它是把不同的動畫綁定到了不同的類里,所以我們想要使用哪種動畫的時候,只需要簡單的把那個相應的類添加到元素上就行了:

首先在head中引入下載的animate.css文件

QQ截圖20131102123530

然后你想要哪個元素進行動畫,就給那個元素添加上animated類 以及特定的動畫類名,animated是每個要進行動畫的元素都必須要添加的類。

假設使用jquery,要給一個id為demo的元素添加一個搖動的動畫,因為搖動的動畫類名為shake,所以代碼是這樣的:

QQ截圖20131102123530

這樣載入頁面,元素就能動起來了。你也可以在動畫完成后,把動畫類移除,以便可以再次進行同一個動畫。

QQ截圖20131102123530

 

至於動畫的配置參數,比如動畫持續時間,動畫的執行次數等等,你可以在你的的元素上自行定義,覆蓋掉animate.css里面所定義的就行了。

QQ截圖20131102123530

注意這些屬性還要記得加上各瀏覽器的前綴。

總之是很靈活的,說到底不就是一個css文件嗎,一看就懂的,你在里面想怎么整就怎么整,不想用它提供的類名,就在里面改掉就行了。如果你只想用里面的部分動畫,也可以把那些要使用的動畫分離出來。

 

3、自己做的demo

https://github.com/ben-Run/CSS3/tree/master/fullpagejs-demo

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM