vue中使用swiper,左右箭頭點擊沒有效果問題及解決
更新時間:2023年05月18日 08:52:00 作者:沙門空海
這篇文章主要介紹了vue中使用swiper,左右箭頭點擊沒有效果問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
vue使用swiper,左右箭頭點擊沒有效果
swiper作為一個開源的前端組件,主要用來做各種頁面切換輪播的效果。
在做左右切換效果時,發(fā)現(xiàn)點擊左右箭頭沒有效果,原來是需要在左右箭頭的頁面標簽上添加點擊事件才行。
代碼如下,親測可用
<swiper ref="mySwiper" :options="swiperOptions">
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<swiper-slide><div style="background-color: #5cb85c;height: 100%"><img src="../assets/logo.png" style="height: 100%;width: 100%"></div></swiper-slide>
<!-- Add Pagination -->
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
<!-- Add Arrows -->
<div class="swiper-button-next" slot="button-next" @click="next"></div>
<div class="swiper-button-prev" slot="button-prev" @click="prev"></div>
data(){
return{
swiperOptions: {
slidesPerView: 3,
slidesPerGroup: 3,
loopFillGroupWithBlank: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
},
}
},
computed:{
swiper() {
return this.$refs.mySwiper.$swiper
}
},
methods:{
prev(){
this.swiper.slidePrev();
},
next(){
this.swiper.slideNext();
},
}swiper插件自定義切換箭頭按鈕
不知道大家在使用swiper時有沒有遇到這樣一種需求,話不多說,直接上gif。

也就是需要把左右切換的箭頭移到容器的外面,自定義箭頭的樣式。
給swiper容器再加一個父容器,兩個容器之間留下間隙,箭頭定位到間隙之間就ok了。
箭頭默認是絕對定位的,給父容器一個相對定位,就能夠調(diào)整箭頭位置。此外箭頭用的是背景圖,改變箭頭大小的同時記得改變背景圖大小。
上代碼。
<style>
.out_container{
width: 280px;
height: 150px;
margin: 100px auto;
position: relative;
outline: 1px solid black;
}
.in_container{
width: 216px;
height: 130px;
margin: 0 auto;
overflow: hidden;
}
.swiper_btn{
width: 20px;
height: 20px;
background-size: contain;
}
</style><body>
<div class="out_container">
<div class="in_container">
<div class="swiper-wrapper">
<div class="swiper-slide"><img src="" alt=""></div>
<div class="swiper-slide"><img src="" alt=""></div>
<div class="swiper-slide"><img src="" alt=""></div>
</div>
<div class="swiper-button-prev swiper_btn"></div>
<div class="swiper-button-next swiper_btn"></div>
</div>
</div>
</body><script>
var mySwiper = new Swiper('.in_container', {
prevButton: '.swiper-button-prev',
nextButton: '.swiper-button-next',
})
</script>效果如下

總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue使用JSEncrypt對密碼本地存儲時加解密的實現(xiàn)
本文主要介紹了vue使用JSEncrypt對密碼本地存儲時加解密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07

