vue使用swiper實現(xiàn)中間大兩邊小的輪播圖效果
項目中使用的vue,剛好有需求要實現(xiàn)輪播圖,突出顯示當前圖片,兩邊展示其他圖片;通過查各種資料,實現(xiàn)了,故在此記錄下來
下面我們來看下實現(xiàn)步驟:
- 第一步:首先在項目index.html中引入swiper的css文件- swiper.min.css
- 第二部:寫入dom結構
<div class="swiper-container"> <div class="swiper-wrapper"> <div v-for="(item, i) in pictures" :key="i" class="swiper-slide" > <!-- 具體內(nèi)容 --> <img :src="item.advertiseImages" alt="商品圖片" > </div> </div> </div>
第三步:在項目中使用npm安裝swiper模塊
npm install swiper --save-dev
JS中文網(wǎng) - 前端進階資源教程www.javascriptC.com 一個致力于幫助開發(fā)者用代碼改變世界為使命的平臺,每天都可以在這里找到技術世界的頭條內(nèi)容
第四步:在vue文件中引入,并初始化swiper; 先引入swiper
import Swiper from "swiper";
注意初始化需要放入mounted鉤子中哦
import Swiper from "swiper"; export default { data() { return { } }, mounted() { var mySwiper = new Swiper(".swiper-container", { direction: "horizontal", loop: false, slidesPerView: "auto", centeredSlides: true, spaceBetween: 20, observer: true, observeParents: true }); } }
如果你的項目中,圖片是從后臺接口獲取,那么上面的初始化可能會出問題,這個時候我們采取另外的方式初始化swiper
import Swiper from "swiper"; export default { data() { return { mySwiper: null } }, methods: { getdata() { promise.then(res => { this.pictures = res.images || []; this.$nextTick(() => { this.initSwiper(); }); }); }, initSwiper() { this.mySwiper = new Swiper(".swiper-container", { direction: "horizontal", loop: false, slidesPerView: "auto", centeredSlides: true, spaceBetween: 20, observer: true, observeParents: true }); } } }
把swiper的初始化放入vue的nextTick中執(zhí)行,就解決掉問題啦
第五步:如果想獲取當前滾動到哪一張圖片怎么辦呢
this.mySwiper.activeIndex;
使用activeIndex屬性就可以獲取到當前圖片的索引啦。 那么我們這個功能就完成啦
總結
以上所述是小編給大家介紹的vue使用swiper實現(xiàn)中間大兩邊小的輪播圖效果,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章
vue?長列表數(shù)據(jù)刷新的實現(xiàn)及思考
這篇文章主要為大家介紹了vue?長列表數(shù)據(jù)刷新的實現(xiàn)及思考,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04vue 修改 data 數(shù)據(jù)問題并實時顯示的方法
今天小編就為大家分享一篇vue 修改 data 數(shù)據(jù)問題并實時顯示的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08vue 使用async寫數(shù)字動態(tài)加載效果案例
這篇文章主要介紹了vue 使用async寫數(shù)字動態(tài)加載效果案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07