Swiper中文论坛
标题:
利用分页器实现常用的大图、缩略图效果。
[打印本页]
作者:
墨染锦年
时间:
2018-1-29 02:49
标题:
利用分页器实现常用的大图、缩略图效果。
官方案例中,缩略图控制 / Swiper互相控制(300)效果,缩略图是居中的,如果改为居左,切换的时候就会有问题。
而官方案例中另一个效果缩略图控制 / 无限循环(310)则是无限循环的,如果是一张图的话,就显得太多余了。
所以就自己研究简单写了个效果。
最终效果如下:
1.png
(165.48 KB, 下载次数: 218)
下载附件
保存到相册
2018-1-29 02:42 上传
没有单独分离出来效果页面,这里只把主要代码分享出来,有点基础的需要的拿去用。。
HTML如下:
<div class="propicbig">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide"><img src="images/tu7.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu1.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu7.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu10.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu7.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu10.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu7.jpg"><span>BD-2</span></div>
<div class="swiper-slide"><img src="images/tu10.jpg"><span>BD-2</span></div>
</div>
</div>
<div class="small"><ul class="pagination"></ul><div class="prev"></div><div class="next"></div></div>
</div>
复制代码
CSS如下:
.view_pro .propicbig {
overflow: hidden;
text-align: center;
}
.view_pro .propicbig img {
max-width: 100%;
height: auto;
}
.view_pro .propicbig span {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 16px;
padding: 10px 0 0 0;
}
.view_pro .small {
margin: 15px 15% 20px 15%;
overflow: hidden;
position: relative;
padding: 0 40px;
}
.view_pro .small li {
float: left;
width: 25%;
overflow: hidden;
padding: 0 5px;
display: none;
}
.view_pro .small li .pic {
border: 2px solid #fff;
overflow: hidden;
}
.view_pro .small li .pic img {
max-width: 100%;
height: auto;
}
.view_pro .small li.on .pic {
border: 2px solid #a7464a;
}
.view_pro .small li:nth-child(1),
.view_pro .small li:nth-child(2),
.view_pro .small li:nth-child(3),
.view_pro .small li:nth-child(4) {
display: block;
}
.view_pro .small .prev,
.view_pro .small .next {
width: 30px;
position: absolute;
top: 0px;
bottom: 0px;
background-repeat: no-repeat;
background-position: center center;
}
.view_pro .small .prev {
left: 0px;
background-image: url(../images/icon_lr3.png);
}
.view_pro .small .prev.swiper-button-disabled {
background-image: url(../images/icon_lr1.png);
}
.view_pro .small .next {
right: 0px;
background-image: url(../images/icon_lr4.png);
}
.view_pro .small .next.swiper-button-disabled {
background-image: url(../images/icon_lr2.png);
}
复制代码
JS如下:
//propicbig
var zongpic=$(".propicbig .swiper-slide").length;
var dqpic=0;
var propicbig = new Swiper('.propicbig .swiper-container', {
slidesPerView: 'auto',
autoHeight:true,
pagination: {
el: '.pagination',
clickable: true,
bulletClass: 'mm',
bulletActiveClass: 'on',
renderBullet: function(index, className) {
return '<li class="' + className + '"><div class="pic"><img src="' + $(".swiper-slide").eq(index).find('img').attr("src") + '"/></div></li>';
},
},
navigation: {
nextEl: '.next',
prevEl: '.prev',
},
on: {
slideChangeTransitionStart: function() {
if(this.activeIndex>=dqpic && this.activeIndex>=3 && this.activeIndex<=zongpic-2){
$(".mm").eq(this.activeIndex-2).prev().hide();
$(".mm").eq(this.activeIndex).next().show();
dqpic=this.activeIndex;
}else if(this.activeIndex<dqpic && this.activeIndex>=1){
$(".mm").eq(this.activeIndex).prev().show();
$(".mm").eq(this.activeIndex+2).next().hide();
dqpic=this.activeIndex;
}
},
},
});
复制代码
作者:
dazhangyu
时间:
2018-2-26 17:16
66666666楼主大神
欢迎光临 Swiper中文论坛 (http://bbs.swiper.com.cn/)
Powered by Discuz! X3.2