使用Skrollr創建視差滾動效果頁面

視差滾動(Parallax Scrolling)是指多層背景以不同的速度移動,形成立體的運動效果,帶來非常出色的視覺體驗。隨着用戶對視覺體驗的要求不斷提高,WEB開發者開始在網頁中加入各種特效元素以滿足用戶的需求。今天這篇文章給大家推薦一個優秀的視差動畫Javascript庫——Skrollr.js

Skrollr是一個使用了HTML5和CSS3的輕量級JavaScript視差滾動類庫。它是不依賴於其它框架的獨立類庫,可以讓你快速打造出視差滾動效果。它可以讓我們給任意元素設置關鍵幀的CSS屬性,然後它會自動形成動畫效果。更重要的一點是,使用此類庫時不用寫複雜的JS代碼以及兼容主流瀏覽器,適配手機等移動終端等特性。

如何使用?

首先在頁面</body>前加入skrollr庫,可以在https://github.com/Prinzhorn/skrollr#rd下載到最新的庫文件。然後使用skrollr.init()調用skrollr庫。

 
    <script type="text/javascript" src="skrollr.min.js"></script> 
    <script type="text/javascript"> 
    var s = skrollr.init(); 
    </script> 
</body> 

接着,我們來演示下頁面元素背景顏色變化效果。當用戶向下滾動頁面500像素時,div的背景色由#00f漸變爲#f00。

 
<div data-0="background-color:rgb(0,0,255);" data-500="background-color:rgb(255,0,0);">WOOOT</div> 

請看演示:demo1

注意,不能使用#00f或者#0000ff來定義背景顏色,應該使用rgb來定義顏色值,當然你不必擔心低版本的ie瀏覽器不支持rgb,skrollr已經做了兼容性處理。

下面我們來看下轉動效果,使用transform:rotate(0deg)可以讓頁面元素產生轉動,下面的演示當滾動頁面時div會做360度轉動效果。

 
<div data-0="background-color:rgb(0,0,255);transform:rotate(0deg);"  
data-500="background-color:rgb(255,0,0);transform:rotate(360deg);">WOOOT</div> 

請看演示:demo2

skrollr庫還提供了非線性動畫調用及彈性緩衝效果,可以使用easings選項中的緩存函數如:bounce,swing等。

 
<div data-0="background-color:rgb(0,0,255);transform[bounce]:rotate(0deg);"  
data-500="background-color:rgb(255,0,0);transform[bounce]:rotate(360deg);">WOOOT</div> 

請看演示:demo3

接下來我們把“data-500”換成了“data-top”!skrollr不僅可以處理絕對位置,也可以處理相對位置!

 
<div data-0="background-color:rgb(0,0,255);transform[bounce]:rotate(0deg);"  
data-top="background-color:rgb(255,0,0);transform[bounce]:rotate(360deg);">WOOOT</div> 

請看演示:demo4

從上面幾個例子中我們可以看出,使用元素的屬性:data-xxx,添加多個這樣的屬性,skrollr居然可以自動創建動畫過程。

在設置data-xxx時,skrollr提供了相對(relative)和絕對(absolute)視圖兩種方法,請看圖解:

Skrollr提供了豐富的使用說明文檔,以及javascript方法解說,詳情可以閱讀項目官網:https://github.com/Prinzhorn/skrollr,同時本站將會推出更豐富的Skrollr應用效果頁面講解文章,敬請期待!

聲明:本文爲原創文章,helloweba.com和作者擁有版權,如需轉載,請註明來源於helloweba.com並保留原文鏈接,否則視爲侵權。
發佈了74 篇原創文章 · 獲贊 43 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章