Swiper 在 vertical 模式下 autoHeight 失效的问题,导致页面出现多余的空白高度,网上找了很多方法都无效,我直接暴力更改。
<SwiperclassName='index-swiper'direction={'vertical'}mousewheel={true}centeredSlides={true}autoHeight={true}slidesPerView="auto" // 这里 autoobserveParents={true}observer={true}modules={[Mousewheel]}onSlideChange={(swiper) => {if(swiper.activeIndex == 5) { // 我的item有6条,取最后有问题的一条const dom = document.getElementsByClassName('swiper-wrapper')[0]; // 获取到 transform 的元素const y = (swiper.height - (swiper as any).slidesSizesGrid[swiper.activeIndex]) / 2 + 'px'; // 具体 translate 数值根据计算出来的结果而定。(dom as any).style.transform += `translateY(${y})` // 暴力更改}}}
><SwiperSlide><Video></Video></SwiperSlide><SwiperSlide><ModelDisplay></ModelDisplay></SwiperSlide><SwiperSlide><Introduction></Introduction></SwiperSlide><SwiperSlide><Appointment></Appointment></SwiperSlide><SwiperSlide><ServiceSupport></ServiceSupport></SwiperSlide><SwiperSlide><Footer></Footer></SwiperSlide>
</Swiper>