JavaScript--Swiper双向控制

需求:使用轮播根据每月月份展示当月的海报:
1.需要可以点击月份进行展示对应的海报;
2.需要可以直接点击海报,同时显示对应的月份;
3.需要有控制月份的左右箭头。

解决办法:使用Swiper中的双向控制controller
个人认为,这种方法比slick.js中的滑块同步更方便

代码:

			$(function() {
			/*
				如果想要第一个控制第二个 
				那么需要先将第二个swiper进行初始化,
				否则第一个swiper在设置时会报错说swiper2未定义
			*/
				var Swiper2 = new Swiper('#swiper2', {
					slidesPerView: 3,//设置slider容器能够同时显示的slides数量,可以设置数字
					spaceBetween: 20,//两个slide之间的距离
					centeredSlides: true,//滑块居中模式
					loop: true,//是否循环
					slideToClickedSlide:true,//设置为true则点击slide会过渡到这个slide。
					breakpoints: {
						1024: {//大于等于1024时
							slidesPerView: 5,
							spaceBetween: 20
						},
						1150: {//大于等于1150时
							slidesPerView: 5,
							spaceBetween: 30
						}
					}
				})
				var Swiper1 = new Swiper('#swiper1', {
					slidesPerView: 1,
					spaceBetween: 20,
					loop: true,
					centeredSlides: true,
					slideToClickedSlide:true,
					navigation: {//使用前进后退按钮
						nextEl: '.swiper-button-next',
						prevEl: '.swiper-button-prev',
					},
					//设置双向控制的参数,或者true使用默认设置
					//还需要设置control为swiper实例,控制该swiper,而不是被该swiper控制
					controller: {
						control: Swiper2,//这里需要在Swiper2的初始化完成之后
					},
					breakpoints: {
						1024: {//大于等于1024时
							slidesPerView: 3,
							spaceBetween: 30
						}
					}
				})
				Swiper2.controller.control = Swiper1;//Swiper2控制Swiper1,需要初始化Swiper1之后
				Swiper1.controller.control = Swiper2;//Swiper1控制Swiper2,需要初始化Swiper2之后

			})

注:因为html结构不一样,这里不贴html以及css代码了

官网有使用方法,这里只是做一下记录
Swiper官网中Control部分的配置选项

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值