使用 swiper 的過程當中我的總結css
解決方法1: var mySwiper = myApp.swiper('.guest-wrapper',{ observer: true,//修改swiper本身或子元素時,自動初始化swiper observeParents: true//修改swiper的父元素時,自動初始化swiper }); 解決方法2: 直接寫死寬高 var mySwiper = myApp.swiper('.guest-wrapper',{ width:500, height:500 });
//外層的父級 swiper 初始化 window.window_swiper = new Swiper('.window_swiper_container', { speed: 800, mousewheel: true, simulateTouch: false, nested: true, on: { onSlideChangeStart: function(swiper) { //滑動父級須要激活滾輪事件 swiper.enableMousewheelControl(); } } }); // 內層子 swiper 初始化(可用在多個子 swiper 上) var swiper = new Swiper('.{{ns}}-swiper', { simulateTouch: false, mousewheel: true, nested: true, on: { slideChangeTransitionStart: function () { //此處禁止 外層 swiper window.window_swiper.mousewheel.disable(); }, slideChangeTransitionEnd: function () { window.window_swiper.mousewheel.enable(); } } });
設爲true開啓圖片延遲加載默認值,使preloadImages無效。或者設置延遲加載選項。 圖片延遲加載:須要將圖片img標籤的src改寫成data-src,而且增長類名swiper-lazy。 背景圖延遲加載:載體增長屬性data-background,而且增長類名swiper-lazy。 還能夠加一個預加載,<div class="swiper-lazy-preloader"></div> 或者白色的<div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div> 當你設置了slidesPerView:'auto' 或者 slidesPerView > 1,還須要開啓watchSlidesVisibility。 var mySwiper = new Swiper('.swiper-container', { lazy: { loadPrevNext: true, }, });
resistanceRatiohtml
抵抗率。邊緣抵抗力的大小比例。值越小抵抗越大越難將slide拖離邊緣,0時徹底沒法拖離。ios
長菜單超出隱藏滾動切換web
默認爲false,普通模式:slide滑動時只滑動一格,並自動貼合wrapper,設置爲true則變爲free模式,slide會根據慣性滑動且不會貼合。api
var mySwiper = new Swiper('.swiper-container',{ slidesPerView : 2,//'auto' //slidesPerView : 3.7, //若是設置爲auto(例如製做全屏展現時的頁腳部分),最後一個slide在鍵盤或鼠標滾動時可能會直接跳到倒數第三個slide, //此時能夠手動設置activeIndex解決,以下 onTransitionEnd: function(swiper){ if(swiper.progress==1){ swiper.activeIndex=swiper.slides.length-1 } } })
slide的切換效果,默認爲"slide"(位移切換),可設置爲"fade"(淡入)"cube"(方塊)"coverflow"(3d流)"flip"(3d翻轉)。app
//css html, body { position: relative; height: 100%; } body { background: #fff; font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 14px; color:#000; margin: 0; padding: 0; } .swiper-container { width: 700px; height: 100%; } .swiper-slide { font-size: 18px; height: auto; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 30px; font-size:13px;font-family:microsoft yahei; line-height:1.8; } p{ margin-bottom:1em; } //html <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <p>無限多的內容無限多的內容無限多的內容無限多的內容</p> </div> </div> <!-- Add Scroll Bar --> <div class="swiper-scrollbar"></div> </div> //js var swiper = new Swiper('.swiper-container', { scrollbar: '.swiper-scrollbar', //滾動條的類名 direction: 'vertical', // 豎列排行 slidesPerView: 'auto', // 可同時展現多少個 slide mousewheelControl: true, //鼠標滾輪 freeMode: true, // slide 是否貼合側邊 roundLengths : true, //防止文字模糊 });
獨立分頁元素,當啓用(默認)而且分頁元素的傳入值爲字符串時,swiper會優先查找子元素匹配這些元素。可應用於分頁器,按鈕和滾動條。ide
var mySwiper = new Swiper('.swiper-container',{ pagination : '.swiper-pagination', uniqueNavElements :false, })