Вероятно, это простой вопрос, но я не могу найти решение.
Я использую vue -awesome-swiper (https://github.surmon.me/vue-awesome-swiper/) . Я хотел бы иметь что-то вроде этого:
Начальная маржа слева на 10%: ![Transition Begin](https://i.stack.imgur.com/AoLhK.png)
Когда внутренние слайды видны, они соприкасаются влево и вправо (растяжение на всю ширину): ![enter image description here](https://i.stack.imgur.com/Xg4qu.png)
Когда достигнут последний слайд, правое поле 10%: ![Transition End](https://i.stack.imgur.com/sN08O.png)
Примеры можно найти здесь: https://github.surmon.me/vue-awesome-swiper/.
Я добавил margin-left:10%;
в класс swiper-wrapper
, который работает для меня в качестве начального поля, но он покрывает мой последний слайд, так как содержимое сдвинуто на 10%. Я бы хотел, чтобы поле margin-left было удалено при достижении последнего слайда и наоборот.
Я пробовал смотреть события (https://swiperjs.com/api/#events): reachEnd
и reachBeginning
. Я пытался применить оба из них следующим образом:
<template>
<div>
<swiper
class="swiper"
:options="swiperOption"
:reach-beginning="handleTransitionStart"
:reach-end="handleTransitionEnd"
:style="transitionStarted ? { margin: '0 0 0 10%' } : { margin: '0 10% 0 0' }"
>
.....
</swiper>
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
@Component
export default class InformationSection extends Vue {
@Prop() 'reachEnd'!: any;
@Prop() 'reachBeginning'!: any;
swiperOption = {
slidesPerView: 4,
spaceBetween: 30,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
};
transitionStarted: boolean = true;
handleTransitionStart(): any {
// eslint-disable-next-line no-console
console.log('Started');
this.transitionStarted = true;
}
handleTransitionEnd(): any {
// eslint-disable-next-line no-console
console.log('Ended');
this.transitionStarted = false;
}
}
</script>
<style scoped>
.swiper-slide {
width: 60%;
}
.swiper-slide:nth-child(2n) {
width: 40%;
}
.swiper-slide:nth-child(3n) {
width: 20%;
}
</style>
Вышеупомянутое не добавляет поля справа в конце. Как я могу достичь этой цели?