vue-awesome-swiper 轮播

14 篇文章 0 订阅

1.安装

  1. npm install  vue-awesome-swiper

  2. 或者 cnpm inatall vue-awesome-swiper

2.引入

全局引入main.js

  1. import vueSwiper from 'vue-awesome-swiper'

  2. import 'swiper/dist/css/swiper.css'  //引入样式

组件引入方式

import { swiper, swiperSlide } from "vue-awesome-swiper";

import ("swiper/dist/css/swiper.css");

components: {

swiper,

swiperSlide

},

我的案例

html

<swiper :options="swiperOption" class='Y_yaoqing' ref="mySwiper">
			<swiper-slide v-for="(item,index) in list.poster" :key="'img'+index"><img :src="item.posterPic" alt="" class="" /></swiper-slide>
			
			<div class="swiper-pagination" slot="pagination"></div>
		</swiper>

 js

	list: [], //页面所有数据
				//轮播设置
				swiperOption: {
					centeredSlides: true, //选中的图片在中间放大
					slidesPerView: 3, //显示的数量
					spaceBetween: 10,					
					//分页器设置
					pagination: {
						el: '.swiper-pagination',
						clickable: true, //此参数设置为true时,点击分页器的指示点分页器会控制Swiper切换。
					},
					loop: true, //循环
					on: {
						// 使用es6的箭头函数,使this指向vue对象
						slideChange: () => {
							// 通过$refs获取对应的swiper对象
							let swiper = this.$refs.mySwiper.swiper;
							let i = swiper.activeIndex;
							console.log(i)
							this.selectList = this.list.poster[i];

						}
					}

				},

根据开发需求,需要自定义分页器的样式的话,可以将分页器进行重新定义

pagination: {
                el: '.swiper-pagination',
                type: 'custom',
                autoplayDisableOnInteraction : false,
                renderCustom: function (swiper, current, total) {
                    var paginationHtml = " ";
                    for (var i = 0; i < total; i++) {
                        // 判断是不是激活焦点,是的话添加active类,不是就只添加基本样式类
                        if (i === (current - 1)) {
                            paginationHtml += '<span class="swiper-pagination-customs swiper-pagination-customs-active"></span>';
                        }else{
                            paginationHtml += '<span class="swiper-pagination-customs"></span>';
                        }                          
                    }
                    return paginationHtml;
                },
 }

 css

 .swiper-pagination-custom {
				bottom: 5%;
				left: 0;
				width: 100%;
				height: 20px;
				/* background-color: red; */
				text-align: center;
			}
			/*自定义分页器的样式,这个你自己想要什么样子自己写*/
 .swiper-pagination-customs {
				width:10px;
				height:4px;
				background:rgba(255,205,207,1);
				border-radius:2px;
				/*width: 12px;
				height: 12px;*/
				display:inline-block;			
				margin: 0 3px;
				outline: 0;
			}
			/*自定义分页器激活时的样式表现*/
.swiper-pagination-customs-active {
				opacity: 1;
        		border: 3px solid #8e2829;
				background-color: #F8000B;
			}

wiper  dome地址:https://surmon-china.github.io/vue-awesome-swiper/

wiper 中文网:https://www.swiper.com.cn/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中,`vue-awesome-swiper`是一个基于Swiper库的轮播组件,它提供了一种方便的方式来创建响应式的轮播效果,包括支持视频播放。要在Vue项目中使用`vue-awesome-swiper`处理轮播视频,你需要做以下几个步骤: 1. **安装依赖**: 使用npm或yarn安装`vue-awesome-swiper`组件: ``` npm install swiper vue-awesome-swiper --save ``` 或者 ``` yarn add swiper vue-awesome-swiper ``` 2. **引入并配置**: 在你的Vue组件中导入`AwesomeSwiper`和`SwiperOption`: ```javascript import { AwesomeSwiper, SwiperOption } from 'vue-awesome-swiper' ``` 然后在组件的`components`选项中注册`AwesomeSwiper`: ```javascript components: { AwesomeSwiper }, data() { return { swiperOptions: {} // 初始化swiper配置对象 } } ``` 3. **设置视频轮播配置**: 在`swiperOptions`对象中,添加`autoplay`、`loop`等属性来控制自动播放和循环,以及针对视频类型的`observer`和`observeParents`设置以监听内容变化: ```javascript swiperOptions: { autoplay: { disableOnInteraction: false, }, loop: true, observer: true, observeParents: true, slidesPerView: 1, breakpoints: [ { // 视频适配不同屏幕尺寸 width: 768, slidesPerView: 2, } ], // 如果有视频元素,可以添加如下的事件处理器: on: { init: function () { this.$refs.mySwiper.slides.forEach((slide) => { if (slide.querySelector('video')) { slide.swiperSlide.on('click', function () { slide.swiperSlide.video.play(); }); } }); }, slideChangeTransitionEnd: function () { this.$refs.mySwiper.slides.forEach((slide) => { if (slide.querySelector('video')) { slide.swiperSlide.video.pause(); } }); } } } ``` 4. **在模板中使用**: 将`AwesomeSwiper`绑定到数据的`swiper`数组,并引用`ref`来获取Swiper实例: ```html <div ref="mySwiper"> <!-- 渲染每个滑动项 --> <swiper-slide v-for="(item, index) in swiper" :key="index"> <video src="your_video_url.mp4" autoplay></video> </swiper-slide> </div> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值