1. 程式人生 > >(轉載)使用Slip.js快速創建整屏滑動的手機網頁

(轉載)使用Slip.js快速創建整屏滑動的手機網頁

width 元素 關註 ctype on() cto touch query 傳遞參數

現在滑屏網頁越來越多,比如我在搜狐視頻就做了好幾個,舉個例子,可以用手機掃描以下的二維碼訪問:

技術分享

之前寫這樣的頁面可能還要糾結選擇什麽庫,然後再寫一堆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快速創建整屏滑動的手機網頁