(轉載)使用Slip.js快速創建整屏滑動的手機網頁
現在滑屏網頁越來越多,比如我在搜狐視頻就做了好幾個,舉個例子,可以用手機掃描以下的二維碼訪問:
之前寫這樣的頁面可能還要糾結選擇什麽庫,然後再寫一堆touch
的事件,再加上寫樣式寫HTML,可能幾個小時就這麽過去,才算完成。
現在不一樣了。
有了Slip.js
,你只管寫HTML,CSS,如果邏輯簡單,一行JS代碼就可以搞定,大大提升了開發的效率。不吹牛,上面的demo,不到半小時我就寫好了。
具體怎麽做呢?比如有個需求是:
我們有4個頁面,每個頁面有一張圖片,每次手指滑動都切換一整屏。
首先看HTML:
<!doctype html> ... <script type="text/javascript" src="slip.js"></script> <body> ... <div id="container"> <div class="page page-1"><img src="img/1.png"></div> <div class="page page-2"><img src="img/2.png"></div> <div class="page page-3"><img src="img/3.png"></div> <div class="page page-4"><img src="img/4.png"></div> </div> </body>
再看CSS:
/* 按自己需要來定義吧,不寫也沒關系 */
最後看JS:
var container = document.getElementById(‘container‘);
var pages = document.querySelectorAll(‘.page‘);
var slip = Slip(container, ‘y‘).webapp(pages);
就這麽簡單,可以查看效果。
解說:
-
Slip
:暴露到全局的方法,只要你引入slip.js
,就可以得到這個實用牛逼的方法。 -
container
: 被滑動的容器,裏面是每個滑動頁面。 -
‘y‘
: 頁面滑動的方向,你也可以傳入‘x‘
-
webapp
: 設置頁面展現為全屏滑動頁面的方法。 -
pages
: 頁面元素列表。
說好的一行代碼搞定的:
Slip(document.getElementById(‘container‘), ‘y‘).webapp();
可以發現,上面的一行代碼並沒有定義pages
:
當webapp
方法不傳遞參數的時候,Slip會獲取container
的直接子元素(兒子元素)作為pages
。
至此,一個全屏滑動網頁就完成了,難以想象的簡單快速。我用半小時,你10分鐘應該就可以。
當然:Slip.js
還有很多更強大的功能,比如你可以自己定義頁面滑動時要做什麽,PM看你完成的這麽快,就給你加了很有意思的需求:
當頁面滑動到最後一頁的時候,刷新一下。。。
你只需要加幾行代碼就可以搞定:
Slip(document.getElementById(‘container‘), ‘y‘).webapp().end(function() {
if (this.page === 3) location.reload();
});
看,是不是很簡單,是不是還沒來得及抱怨這個需求,就已經完成它了,是不是有種前所未有的快感。來看看效果吧。
註意:頁數是從0開始的,所以上面的最後一頁是3,而不是4。
如果你看到了這裏還沒離開,我想你對Slip.js
應該還是至少有點興趣的,那麽你可以去Github關註它。
如果想迫切試用Slip.js
,可以直接查看文檔。
如果想要看看Slip.js
如何實現,可以查看源碼。
(轉載)使用Slip.js快速創建整屏滑動的手機網頁