那麼今天就來介紹這款fullPage,與fullPage.js是不同的,fullpage相容性更佳,能向下相容IE6, 不依賴任何 js 函式庫,可獨立使用。功能上雖然不如 fullPage.js 強大,但一般使用已經足夠了,尤其是它的動畫效果,你可以自由設定縮放、旋轉以產生各種各樣的動畫效果。同時它也支援 fullPage.js 所沒有的水平滾動。
再介紹之前先看一看運行效果圖:
引入核心庫,pagefull的依賴任何JS庫,所以只需引入它本身就可以了
<script src="js/fullPage.min.js"></script>
寫入html
//请在head区加入以下代码,移动端使用 <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"> <!--[if lte IE 7]> <body scroll="no"> <![endif]--> <!--[if gt IE 7]><!--> <body> <!--<![endif]--> <div id="pageContain"> <div class="page page1 current"> <div class="contain"> </div> </div> <div class="page page2"> <div class="contain"> </div> </div> <div class="page page3" data-step="4"> <div class="contain"> <p class="demo-data-step">data-step可以让你在不切屏的情况下更换动画</p> </div> </div> <div class="page page4"> <div class="contain"> </div> </div> <div class="page page5"> <div class="contain"> </div> </div> <div class="page page6"> <div class="contain"> </div> </div> </div> <ul id="navBar"> <li>0</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> </body>
寫入CSS,不熟悉CSS3的朋友請回去補下,這裡不做解析了,CSS可以依照專案的需求自由的定義。
html { -ms-touch-action: none; /* 阻止windows Phone 的默认触摸事件 */ } body, div, p { margin: 0; padding: 0; } ul { list-style: none; } body { width: 100%; *cursor: default; overflow: hidden; font: 16px/1.5 "Microsoft YaHei",Helvetica,STHeiti STXihei,Microsoft JhengHei,Arial; } #pageContain { overflow: hidden; } .page { display: none; width: 100%; height: 100%; overflow: hidden; position: absolute; top: 0; left: 0; } .contain { width: 100%; height: 100%; display: none; position: relative; z-index: 0; } .current .contain,.slide .contain { display: block; } .current { display: block; z-index: 1; } .slide { display: block; z-index: 2; } .swipe { display: block; z-index: 3; transition-duration: 0ms !important; -webkit-transition-duration: 0ms !important; } .page1 { background: #37c1e3; } .page2 { background: #009922; } .page3 { background: #992211; } .page4 { background: #ff00ff; } .page5 { background: #00ff00; } .page6 { background: #22ffff; } #navBar { z-index: 3; position: absolute; top: 10%; right: 3%; } #navBar .active { background: #ccc; } #navBar li { cursor: pointer; margin-bottom: 10px; transition: all .7s ease; border-radius: 50%; line-height: 40px; text-align: center; width: 40px; height: 40px; } p { width: 200px; height: 100px; color:#fff; text-align: center; position: absolute; left: 50%; top: 50%; margin-left: -100px; margin-top: -50px; opacity: 1; transition: all .8s ease; transform-origin: 50% 50%; } .step1 p { transform: translate(0, -50px); -webkit-transform: translate(0, -50px); } .step2 p { opacity: 0; transform: scale(2); -webkit-transform: scale(2); } .step3 p { transform: scale(1); -webkit-transform: scale(1) opacity: 1; } .step4 p { -webkit-transform: rotate(360deg) translate(0,-200px) scale(.3); transform: rotate(360deg) translate(0,-200px) scale(.3); opacity: 0; }
寫入JS,實現效果
var runPage; runPage = new FullPage({ id : 'pageContain', // 容器id slideTime : 800, // 每页切换时间,单位为毫秒 continuous : false, // 是否循环(即能从最后页跳到第一页面) effect : { // 滚动效果 transform : { translate : 'Y', // 'X'|'Y'|'XY'|'none' X轴|Y轴|XY轴|无 scale : [.1, 1], // [scalefrom, scaleto] [起始缩放比例, 结束时缩放比例] rotate : [0, 0] // [rotatefrom, rotateto] [起始旋转角度, 结束时旋转角度] }, opacity : [0, 1] // [opacityfrom, opacityto][起始透明度, 结束时透明度] }, mode : 'wheel,touch,nav:navBar', // 转换模式 'wheel,touch,nav:navBar' 表示 '滚轮,触摸,导航条:导航条id' easing : 'ease' // easing('ease','ease-in','ease-in-out' 或使用贝塞尔曲线 [.33, 1.81, 1, 1]; // ,onSwipeStart : function(index, thisPage) { // 触摸开始时的回调函数 // return 'stop'; // } // ,beforeChange : function(index, thisPage) { // 滑动开始时的回调函数 // return 'stop'; // } // ,callback : function(index, thisPage) { // 滑动结束后的回调函数 // alert(index); // }; });
詳細參數設定
id String – 外層包裹id
slideTime Integer (default:800) – 每頁切換時間(毫秒)
effect Object (default:{}) – 效果參數
mode String (default:'') – 轉換模式'wheel,touch,nav:navBar' 表示'滾輪,觸摸,導航條:導航條id'
callback Function – 滑動結束後的回呼函數
介面
Fullpage也提供了一些藉口供使用此外掛程式的開發者呼叫:
prev() 直接滑向上一頁
next() 直接滑入下一頁
thisPage() 傳回目前的頁碼
go(num) 直接滑到第num頁
以上就是關於實現類似網易郵箱全螢幕滾動的效果,希望大家可以製作一個適合於自己網站的全螢幕滾動效果。