2018年3月12日。
作為一名前端,在做網頁最常見的一定是做輪播圖,而作為初級入門前端做輪播圖時慣例會上網找一些輪播圖案例修改到自己的網頁中,而大神可能會自己寫。而無論自己寫還是上網找的案例都會有一個問題,內容複雜運用不方便。而且在現在多端兼容適配的時代,很多案例沒有手機端滑動操作兼容,這十分違背開發者的需求。在我不懈努力下發現這個好用得要哭😭的輪播圖插件(swiper)。我沒有收到錢推廣,我只是分享一下,把我認識的説出來,有不足請批評我。
好,如何使用這個插件呢?作為新手,當然是直接上官網找文檔啦!官網地址:http://www.swiper.com.cn/
進入官網,看看它的示例,看看有沒有滿足自己要求的示例,然後下載官方swiper.js和swiper.css。我作為小白當然把完整的demo下載了,這樣我可以直接複製我要的內容。
使用方法按官網的使用教程走就好,為了湊一下字數我就複製粘貼一下
1.首先加載插件,需要用到的文件有swiper.min.js和swiper.min.css文件。可下載Swiper文件或使用CDN。
<!DOCTYPE html>
<html>
<head>
...
<link rel="stylesheet" href="path/to/swiper.min.css">
</head>
<body>
...
<script src="path/to/swiper.min.js"></script>
</body>
</html>
2.HTML內容。
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
<!-- 如果需要分頁器 -->
<div class="swiper-pagination"></div>
<!-- 如果需要導航按鈕 -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- 如果需要滾動條 -->
<div class="swiper-scrollbar"></div>
</div>
導航等組件可以放在container之外
3.你可能想要給Swiper定義一個大小,當然不要也行。
.swiper-container {
width: 600px;
height: 300px;
}
4.初始化Swiper:最好是挨着</body>標籤
<script>
var mySwiper = new Swiper ('.swiper-container', {
direction: 'vertical',
loop: true,
// 如果需要分頁器
pagination: {
el: '.swiper-pagination',
},
// 如果需要前進後退按鈕
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// 如果需要滾動條
scrollbar: {
el: '.swiper-scrollbar',
},
})
</script>
</body>
如果不能寫在HTML內容的後面,則需要在頁面加載完成後再初始化。
<script type="text/javascript">
window.onload = function() {
...
}
</script>
或者這樣(Jquery和Zepto)
<script type="text/javascript">
$(document).ready(function () {
...
})
</script>
5.完成。恭喜你,現在你的Swiper應該已經能正常切換了。
後面的<script></script>塊我試着寫到js文件中,發現運行不了,可能我漏掉了一些東西,你們也可以試一下。
而就是這點代碼就做好了輪播圖,當然一個輪播圖如何能滿足我的需求,給我來十個!!
多個swiper如何做呢?
<div class="fatherA">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
</div>
<!-- 如果需要分頁器 -->
<div class="swiper-pagination"></div>
<!-- 如果需要導航按鈕 -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- 如果需要滾動條 -->
<div class="swiper-scrollbar"></div>
</div>
</div>
<script>
var mySwiper = new Swiper ('.fatherA .swiper-container', {
direction: 'vertical',
loop: true,
// 如果需要分頁器
pagination: {
el: '.swiper-pagination',
},
// 如果需要前進後退按鈕
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// 如果需要滾動條
scrollbar: {
el: '.swiper-scrollbar',
},
})
</script>
</body>
正如上面的代碼,只需加多一個父類元素就可以區分多個swiper,來一打都可以不影響。
關於這個插件的一個問題,如果你調用了swiper.min.css,就是官方的css,他們是用display:flex;的flex佈局的,所有你代碼又定義一個display:none;就會起衝突,導致樣式錯亂,不能滑動。
可能這文檔寫的太亂了,都不知道寫的是什麼,請見諒。