完整代碼
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="swiper/css/swiper-3.4.2.min.css" rel="external nofollow" > <script src="swiper/js/swiper-3.4.2.min.js"></script> <style type="text/css"> .swiper-container { width: 900px; height: 300px; } </style> </head> <body> <p class="swiper-container"> <p class="swiper-wrapper"> <p class="swiper-slide box1"><img src="img/a.jpg"></p> <p class="swiper-slide box2" ><img src="img/b.jpg"></p> <p class="swiper-slide box3"><img src="img/c.jpg"></p> </p> <!-- 如果需要分頁(yè)器 --> <p class="swiper-pagination"></p> <!-- 如果需要導(dǎo)航按鈕 --> <p class="swiper-button-prev"></p> <p class="swiper-button-next"></p> <!-- 如果需要滾動(dòng)條 --> <!--<p class="swiper-scrollbar"></p>--> </p> </p> <script> var mySwiper = new Swiper ('.swiper-container', { direction: 'horizontal', loop: true, // 如果需要分頁(yè)器 pagination: '.swiper-pagination', // 如果需要前進(jìn)后退按鈕 nextButton: '.swiper-button-next', prevButton: '.swiper-button-prev', autoplay : 1000, speed:100, // 如果需要滾動(dòng)條 // scrollbar: '.swiper-scrollbar', effect : 'coverflow', slidesPerView: 3, centeredSlides: true, coverflow: { rotate: 30, stretch: 10, depth: 60, modifier: 2, slideShadows : true } }) </script> </body> </html>
如何使用swiper寫輪播
之前大家都寫過(guò)輪播圖吧,相信在寫輪播圖的過(guò)程中也因?yàn)楫?dāng)中的某些細(xì)節(jié)煩惱過(guò)吧,接下來(lái)我給大家講述一個(gè)方便快捷的輪播圖吧!
Swiper常用于移動(dòng)端網(wǎng)站的內(nèi)容觸摸滑動(dòng)
1.第一步先引入css---swiper.css插件和JQ---swiper.js 插件,
然后呢就開始寫輪播圖了
<p class="swiper-container">--首先定義一個(gè)容器 <p class="swiper-wrapper"> <p class="swiper-slide"><img src="" /></p> --添加圖片 <p class="swiper-slide"><img src="" /></p> <p class="swiper-slide"><img src="" /></p> </p> <p class="swiper-pagination"></p>--小圓點(diǎn)分頁(yè)器 <p class="swiper-button-prev"></p>--上一頁(yè) <p class="swiper-button-next"></p>--下一頁(yè) </p>
如果想讓它動(dòng)起來(lái),那就繼續(xù)來(lái)寫js吧
var mySwiper = new Swiper(".swiper-container",{ autoplay:1000,--每秒中輪播一次 loop:true,--可以讓圖片循環(huán)輪播 autoplayDisableOnInteraction:false,--在點(diǎn)擊之后可以繼續(xù)實(shí)現(xiàn)輪播 pagination:".swiper-pagination",--讓小圓點(diǎn)顯示 paginationClickable:true,--實(shí)現(xiàn)小圓點(diǎn)點(diǎn)擊 prevButton:".swiper-button-prev",--實(shí)現(xiàn)上一頁(yè)的點(diǎn)擊 nextButton:".swiper-button-next",--實(shí)現(xiàn)下一頁(yè)的點(diǎn)擊 effect:"flip"--可以實(shí)現(xiàn)3D效果的輪播 })
Swiper輪播的也有它的好處:
1.Swiper是純javascript打造的滑動(dòng)特效插件,面向手機(jī)、平板電腦等移動(dòng)終端。
2.Swiper能實(shí)現(xiàn)觸屏焦點(diǎn)圖、觸屏Tab切換、觸屏多圖切換等常用效果。
3.Swiper開源、免費(fèi)、穩(wěn)定、使用簡(jiǎn)單、功能強(qiáng)大,是架構(gòu)移動(dòng)終端網(wǎng)站的重要選擇!
同時(shí)也有不足之處:(使用Swiper輪播插件ajax請(qǐng)求加載圖片時(shí),無(wú)法滑動(dòng)的問題)
因?yàn)閎anner圖是動(dòng)態(tài)創(chuàng)建的,在插件開始初始化時(shí),文檔流中沒用圖片,所以沒有創(chuàng)建相應(yīng)寬度,通過(guò)調(diào)整js加載順序,問題還是沒有解決。
最后找到swiper插件 api 有屬性是可以根據(jù)內(nèi)容變動(dòng),自動(dòng)初始化插件的,添加observer:true后問題解決!
var mySwiper = new Swiper ('.swiper-container', { pagination: '.swiper-pagination', autoplay: 5000, loop: true, observer:true,//修改swiper自己或子元素時(shí),自動(dòng)初始化swiper observeParents:true,//修改swiper的父元素時(shí),自動(dòng)初始化swiper })
Swiper擁有豐富的API接口。(不過(guò)關(guān)于中文文檔不多,沒找著。)能夠讓開發(fā)者生成個(gè)人獨(dú)有的分頁(yè)器(pagination),上下滑塊的按鈕
以及4個(gè)回調(diào)函數(shù):1.onTouchStart
2.onTouchMove
3.onTouchEnd
4.onSlideSwitch。
以上內(nèi)容是我個(gè)人總結(jié),希望對(duì)各位有所幫助!
swiper輪播圖(逆向自動(dòng)切換類似于無(wú)限循環(huán))
swiper插件輪播圖,默認(rèn)的輪播循序是會(huì)從右向左,第一張,第二張,第三張,然后肉眼可見是的從第三張從左到右倒回第一張,這樣就會(huì)有些視覺體驗(yàn)不高,
,不過(guò)還是能夠用swiper本身的特性更改成無(wú)限循環(huán)的輪播的。
HTML代碼
<p class="course-banner-box"> <p class="swiper-container"> <p class="swiper-wrapper"> <!--四張輪播圖--> <p class="swiper-slide slide1"></p> <p class="swiper-slide slide2"></p> <p class="swiper-slide slide3"></p> <p class="swiper-slide slide4"></p> </p> <!-- Add Pagination --> <p class="swiper-pagination"></p> <!-- Add Arrows --> <p class="button-box"> <p class="button"> <!--左右按鈕--> <p class="swiper-button-next"></p> <p class="swiper-button-prev"></p> </p> </p> </p> </p>
script代碼
<script> var swiper = new Swiper('.swiper-container', { pagination: '.swiper-pagination',//pagination分頁(yè)器 nextButton: '.swiper-button-next',//前進(jìn)后退按鈕 prevButton: '.swiper-button-prev', paginationClickable: true,//參數(shù)設(shè)置為true時(shí),點(diǎn)擊分頁(yè)器的指示點(diǎn)分頁(yè)器會(huì)控制Swiper切換 spaceBetween: 30,//slide之間的距離(單位px)。 centeredSlides: true,//設(shè)定為true時(shí),活動(dòng)塊會(huì)居中,而不是默認(rèn)狀態(tài)下的居左。 loop : true,//復(fù)制多份循環(huán)(這里就是讓輪播看起來(lái)是循環(huán)的,去掉這個(gè)就恢復(fù)了默認(rèn)的swiper輪播) autoplay: 3000,//自動(dòng)切換的時(shí)間間隔(單位ms),不設(shè)定該參數(shù)slide不會(huì)自動(dòng)切換。 autoplayDisableOnInteraction: false//點(diǎn)擊后打斷auto-play }); </script>
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!
推薦閱讀:
如何使用vue中swiper
如何進(jìn)行Angular網(wǎng)絡(luò)請(qǐng)求封裝
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com