首頁  >  文章  >  web前端  >  行動端h5輪播插件swipe實例詳解

行動端h5輪播插件swipe實例詳解

小云云
小云云原創
2018-01-29 13:42:384423瀏覽

swipe.js是一個輕量級js觸摸滑動類別庫 – Swipe JS。這是一個非常小的一個javascript類別庫,但他的功能卻不簡單,它可以用來展示web頁面上的任何內容,支援精確的觸控行動操作,而且還可以設定自動播放、等比例縮放等等實用性的功能。

在行動端的h5頁面裡,我們常常會有輪播圖的需求,如果不需要太多的效果,只是簡單的手指滑動和自動輪換效果的話,我比較推薦swipe插件,不過百度搜尋到的這個插件,裡面介紹的不是很完整,我要補充下可能需要的功能。

Swipe函數介紹

以下就為大家介紹下Swipe JS的使用方法,Swipe有以下參數:

startSlide: 4,  //起始图片切换的索引位置
auto: 3000, //设置自动切换时间,单位毫秒
continuous: true,  //无限循环的图片切换效果
disableScroll: true,  //阻止由于触摸而滚动屏幕
stopPropagation: false,  //停止滑动事件
callback: function(index, element) {},  //回调函数,切换时触发
transitionEnd: function(index, element) {}  //回调函数,切换结束调用该函数。

除此之外,還有一些比較常用的API方法,例如:

prev():上一页
next():下一页
getPos():获取当前页的索引
getNumSlides():获取所有项的个数
slide(index, duration):滑动方法

Swipe使用方法

了解基本函數方法後,我們就來看看使用方法。

首先是HTML結構:

<p id="slider" class="swipe">
  <p class="swipe-wrap">
    <p></p>
    <p></p>
    <p></p>
  </p>
</p>

然後是樣式代碼:

.swipe {
    overflow: hidden;
    visibility: hidden;
    position: relative;
}
.swipe-wrap {
    overflow: hidden;
    position: relative;
}
.swipe-wrap > figure {
    float: left;
    width: 100%;
    position: relative;
}

最後設定JS綁定以及參數設定:

var slider = Swipe(document.getElementById('slider'), {
   …………
   …………
});

在這裡只要把上面介紹的函數參數寫在裡面,就可以實現相對應的功能。

最後我們也可以為滑動切換添加上下按鈕:

<button onclick="Swipe.prev()">prev</button>
<button onclick="Swipe.next()">next</button>

另外我進行一些分頁器效果的補充吧:

如果需要分頁那個點的效果的話,可以這麼添加代碼:

nav標籤部分就是分頁器的相關部分拉,多少個slide就多少個li標籤(如果需要分頁器效果的童鞋就添加一個nav和ul標籤即可,因為代表分頁點的li標籤需要動態生成,如果你是動態添加的輪播模組! )

<nav>
    <ul id="position">
      <!-- <li class="on"></li>
      <li class=""></li>
      <li class=""></li>
      <li class=""></li> -->
    </ul>
</nav>

對應的實例化程式碼(有更簡化寫法的童鞋可以用自己的方法):

var slider = Swipe(document.getElementById('slider'), {
                    auto: 3000,
                    continuous: true,
                    callback: function(pos) {
                        var i = bullets.length;
                        while (i--) {
                            bullets[i].className = ' ';
                        }
                        bullets[pos].className = 'on';
                    }
                });
var slides = document.querySelectorAll('.swipe-wrap figure').length;
var liBox = document.getElementById('position');
var liTab;
for (var i = 0; i < slides; i++) {
    liTab = document.createElement('li');
    if (i == 0) {
        liTab.className = 'on';
    }
    liBox.appendChild(liTab);
};
var bullets = document.getElementById('position').getElementsByTagName('li');

還有個關鍵的地方,這個插件在手指滑動過一次slide模組後就會stop了,不會再自動輪播,這時候需要到swipe.js裡去修改一下原始碼:

這樣這個外掛基本上就能正常運作滿足你最基本的需求了。

相關推薦:

Swiper在行動端的用法

vue swiper實作元件化開發詳解

##vue swiper實作元件化開發詳解

### ####JS中Swiper的用法介紹######

以上是行動端h5輪播插件swipe實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn