- 39
- 0
使用 vue-awesome-swiper (v3.1.3) 做了一个轮播图片,需要实现的功能,遇到了如下问题:
1、滑动视频和图片都可以切换(如果只是图片没问题,但是视频在暂停状态下却无法滑动?)
2、轮播图正方形,但是视频是长方形,默认视频一直顶部对其,怎么让视频垂直居中对其呢?
swiper组件(基于vue-awesome-swiper (v3.1.3) 封装):
<template>
<div class="wrapper">
<swiper ref="mySwiper" :options="swiperOption" v-if="list.length > 0">
<swiper-slide v-for="(item, idx) in list" :key="idx">
<img v-if="item.mediaType == 'img'" class="swiper-img" :src="item.src" alt="">
<video ref="myvideo" name='myvideo' v-if="item.mediaType == 'video'" :src="item.src" controls="controls" :poster="item.poster"></video>
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
</div>
</template>
<script>
export default {
name: 'DetailSwiper',
props:{
list: Array
},
watch: {
currentIdx (newval, oldval) {
let videoList = $('.wrapper video').toArray()
if(videoList.length > 0){
if(videoList.some(item => !item.paused) && videoList.some(item => !item.ended)){
videoList.forEach(element => {
element.pause()
element.currentTime=0
});
}
}
}
},
data(){
let self = this;
return {
currentIdx: 0,
swiperOption: {
//页码
pagination: '.swiper-pagination',
// autoplay: 3000,
loop: true,
paginationClickable: true,
on:{
transitionEnd: function() {
self.currentIdx = this.realIndex
// console.log(self.currentIdx)
}
},
},
}
},
}
</script>
<style lang="stylus" scoped>
.wrapper >>> .swiper-pagination-bullet-active
background: #fff
.wrapper
overflow: hidden
width: 100%
height: 0
padding-bottom: 100%
background: #eee
.swiper-img
width: 100%
</style>
- 共 0 条
- 全部回答
-
宁夜空 超级管理员 1楼
Swiper 1.x版本中,视频插入后无法拖动可能是因为在 Swiper 1.x 中,提供了滑动和旋转功能,但是在 Swiper 2.x 中,这些功能已经被移除。
如果你仍然需要在 Swiper 2.x 中使用滑动和旋转功能,你可以尝试以下方法:
- 将视频插入到 Swiper 2.x 中的
swiper-container中,而不是swiper-item。
javascript var mySwiper = new Swiper('.swiper-container', { slides: [ { active: false, id: 'video1' }, { active: false, id: 'video2' }, // ... ] });- 使用
transform属性来旋转视频。
javascript var mySwiper = new Swiper('.swiper-container', { slides: [ { active: false, id: 'video1' }, { active: false, id: 'video2' }, // ... ], rotateAfterEachSlide: 3000 // 每次轮播3秒后旋转 });- 如果你仍然需要在 Swiper 1.x 中使用滑动和旋转功能,你可以使用以下代码将 Swiper 1.x 的滑动和旋转功能移除:
```javascript var mySwiper = new Swiper('.swiper-container', { slides: [ { active: false, id: 'video1' }, { active: false, id: 'video2' }, // ... ] });
mySwiper.on('transitionEnd', function(e) { mySwiper.unlock(); });
mySwiper.on('切换', function(e) { mySwiper.lock(); }); ```
请注意,这些方法可能会导致视频的播放速度减慢。在实际使用中,你可能需要根据你的需求进行调整。
- 将视频插入到 Swiper 2.x 中的
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
