前言
最近需要開發一個新的“微信活動平台”,手機端主頁需要用到一個幻燈片。因為好一段時間沒有全部手寫移動端頁面了,遂又重新找了一個下有沒有什麼好的幻燈片插件,畢竟重復造輪子沒有必要啊。
綜合比較後發現,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/