vue swiper vue-awesome-swiper 鼠标悬浮 停止滚动
时间: 2023-06-28 17:07:48 浏览: 267
要实现鼠标悬浮停止滚动,可以使用 `swiper` 的 `autoplay` 参数和 `noSwiping` 参数。
具体步骤如下:
1. 在 `swiper` 的 `autoplay` 参数中设置一个自动轮播的间隔时间,如 `autoplay: { delay: 5000 }`。
2. 使用 `noSwiping` 参数禁止用户手动滑动轮播,只允许通过自动轮播进行切换,如 `noSwiping: true`。
3. 监听 `swiper` 的 `mouseenter` 和 `mouseleave` 事件,当鼠标悬浮在轮播上时停止自动轮播,当鼠标离开轮播时重新开始自动轮播。
代码示例:
```vue
<template>
<div class="swiper-container" @mouseenter="stopAutoplay" @mouseleave="startAutoplay">
<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>
</template>
<script>
import Swiper from 'swiper'
import 'swiper/swiper-bundle.css'
export default {
mounted() {
this.initSwiper()
},
methods: {
initSwiper() {
this.swiper = new Swiper('.swiper-container', {
autoplay: {
delay: 5000
},
noSwiping: true,
pagination: {
el: '.swiper-pagination'
}
})
},
stopAutoplay() {
this.swiper.autoplay.stop()
},
startAutoplay() {
this.swiper.autoplay.start()
}
}
}
</script>
```
在上面的代码中,当鼠标悬浮在轮播上时调用 `stopAutoplay` 方法停止自动轮播,当鼠标离开轮播时调用 `startAutoplay` 方法重新开始自动轮播。同时,使用 `noSwiping` 参数禁止用户手动滑动轮播,只允许通过自动轮播进行切换。
阅读全文