1. 程式人生 > >swiper裏面的,tab切換,不同的slide高度不一樣,外層高度何如隨之改變,如果裏面的每一屏的高度不一樣,那麽就會一直以高度最大的一個座位最外層的高度,總成了頁面內容少的那一頁有很大空白,改如何動態改變外層的高度呢

swiper裏面的,tab切換,不同的slide高度不一樣,外層高度何如隨之改變,如果裏面的每一屏的高度不一樣,那麽就會一直以高度最大的一個座位最外層的高度,總成了頁面內容少的那一頁有很大空白,改如何動態改變外層的高度呢

ide設置 就會 否則 location translate dir 最大的 ext 如果


解決方案:1.autoHeight: true;缺點:有明顯的跳動效果
2.先給容器設固定高度,每次滑動多少時,改變當前tab頁的容器高度,我在實現是遇到一點小問題,代碼忘記保存了。

3.滑動切換第二個頁面的頂部,需要用scrollTop實現,

onSlideChangeStart: function(swiper){
//$( ‘.swiper-container‘ ).scrollTop(0);這樣是直接到頂部,往往會出現閃屏,
$( ‘.swiper-container‘ ).animate({scrollTop: 0},10);//動畫慢慢過渡到頂部
}

4.在每個tab頁加上垂直方向的swiper,並設置freeMode: true,
美中不足的是: 必須給每個垂直方向的swiper-slide設置固定高度,否則一塊會占整個屏幕頁面
代碼如下:
var mySwiperIndex = new Swiper(‘#swiper-container-index‘, {
slidesPerView: ‘auto‘,
direction: ‘vertical‘,
freeMode: true,
freeModeMomentum: false,
freeModeMomentumBounce: false,
onSlideNextStart: function(swiper) {//回調函數,滑塊釋放時如果觸發slider向前(右、下)切換則執行。類似於onSlideChangeStart
var i = swiper.activeIndex;
//根據i來判斷要加載該部分以的方法,預加載

}
});
mySwiperIndex.on("TouchEnd", function(swiper) {
//下拉加載
if (swiper.isEnd) {

LoadingMore();//加載更多

}

//上拉刷新
if (swiper.translate > 0) {
window.location.reload();//這裏應該是根據不同的tab加載不同的方法
}
});

先到這裏,應該還有更好更簡單的方法以後遇到了在分享吧。

swiper裏面的,tab切換,不同的slide高度不一樣,外層高度何如隨之改變,如果裏面的每一屏的高度不一樣,那麽就會一直以高度最大的一個座位最外層的高度,總成了頁面內容少的那一頁有很大空白,改如何動態改變外層的高度呢