前言
最近需要開發一個新的“微信活動平台”,手機端主頁需要用到一個幻燈片。因為好一段時間沒有全部手寫移動端頁面了,遂又重新找了一個下有沒有什麼好的幻燈片插件,畢竟重復造輪子沒有必要啊。
綜合比較後發現,Swipe 這款插件還是比較不錯的,所以這裡特地寫一篇文章以像大家推薦,並且作為記錄,方便下次查看。
簡介
Swipe 是一個輕量級的移動滑動組件,這點從文件大小不難看出。它支持 1:1 的觸摸移動,阻力以及防滑。單純從移動端來使用,應該滿足基本的需求了。
說明
從github下載後,可以發現,總共就8個文件,其中可能真正項目中用得到的,也基本就是1個 swipe.js 文件。
index.html 和 style.css 本身是作為演示存在的,有興趣的可以研究一下。
那麼我們具體如果使用它呢?很簡單,基本只要如下代碼即可:
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>演示</title> <!-- 首先引入JQuery --> <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script> <!-- 引入核心swipe.js文件 --> <script src="swipe.js"></script> <!-- 幻燈片基礎樣式 --> <style> .swipe { overflow: hidden; visibility: hidden; position: relative; } .swipe-wrap { overflow: hidden; position: relative; } .swipe-wrap > div { float:left; width:100%; position: relative; font-size:140px; /* 這裡樣式是為了演示方便,我特意加的 */ } </style> </head> <body> <!-- 幻燈片實例代買,前兩層是外圍容器 --> <div id='slider' class='swipe'> <div class='swipe-wrap'> <!-- 這三個是幻燈片內容,其中1,2,3等數字可換成圖片,樣式根據需求更改即可 --> <div>1</div> <div>2</div> <div>3</div> </div> </div> <!-- 頁面幻燈片運行腳本(初始化) --> <script> window.mySwipe = Swipe(document.getElementById('slider')); </script> </body> </html>
以上代碼運行結果:
通過鼠標點擊或者放到手機上手指滑動,就可以看見幻燈片的運行效果了。當然,當前只是最基本的,全部都是默認配置。我們完全可以通過下面提供的參數,結合自己的需求,自義定出更好的效果來。
startSlide Integer (default:0) - index position Swipe should start at(滑動的索引值,即從*值開始滑動,默認值為0)
speed Integer (default:300) - speed of prev and next transitions in milliseconds.(滑動的速度,默認值300毫秒)
auto Integer - begin with auto slideshow (time in milliseconds between slides)(自動滑動,單位為毫秒)
continuous Boolean (default:true) - create an infinite feel with no endpoints(是否循環滑動,默認值為true)
disableScroll Boolean (default:false) - stop any touches on this container from scrolling the page(停止任何觸及此容器上滾動頁面,默認值flase)
stopPropagation Boolean (default:false) - stop event propagation(停止事件傳播,默認值flase)
callback Function - runs at slide change.(回調函數)
transitionEnd Function - runs at the end slide transition.(滑動過渡時調用的函數)
下面就是官方給的演示例子:
window.mySwipe = new Swipe(document.getElementById('slider'), { startSlide: 2, speed: 400, auto: 3000, continuous: true, disableScroll: false, stopPropagation: false, callback: function(index, elem) {}, transitionEnd: function(index, elem) {} });
從中我們不難看出具體參數的使用方法和位置。這一個如果感興趣,可以根據需要,自己加入參數試試,都是以json對象存在於Swipe的第二個參數的。
那麼除了以上參數,Swipe還提供了一些常用的方法(API):
prev() slide to prev(上一頁)
next() slide to next(下一頁)
getPos() returns current slide index position(獲取當前索引位置)
getNumSlides() returns the total amount of slides(獲取所有滑塊總數)
slide(index, duration) slide to set index position (duration: speed of transition in milliseconds)(指數,持續時間)滑動設置索引位置(持續時間:轉型速度以毫秒為單位)
都是一些簡單的接口方法,你可以Js調用他們以達到你想要的效果。
下載地址:https://github.com/thebird/swipe/