最近在公司的一个项目中碰到了一个问题,我用swiper插件写了一个可左右滑动的tab选项卡,可是在实现的过程中发现,swiper的高度被固定了,即使使用swiper的autoHeight也无法解决 , 最后想到了一个办法 , 解决办法如下:
var tabsSwiper = new Swiper('.content', {
speed: 500,
autoHeight: true,
//添加以下代码
onInit: function(swiper) {
var H = $(".content-slide").eq(tabsSwiper.activeIndex).height();
$(".swiper-slide").css('height', H + 'px');
$(".swiper-wrapper").css('height', H + 'px');
},
onSlideChangeStart: function() {
var H = $(".content-slide").eq(tabsSwiper.activeIndex).height();
$(".swiper-slide").css('height', H + 'px');
$(".swiper-wrapper").css('height', H + 'px');
$(".tabs .active").removeClass('active');
$(".tabs li").eq(tabsSwiper.activeIndex).addClass('active');
}
});
$(".tabs li").on('touchstart', function(e) {
$(".tabs .active").removeClass('active');
$(this).addClass('active');
tabsSwiper.swipeTo($(this).index());
});
$(".tabs li").click(function(e) {
e.preventDefault();
$(".tabs .active").removeClass('active');
$(this).addClass('active');
tabsSwiper.swipeTo($(this).index());
});