在網(wǎng)站開發(fā)過程中,我們用得很多的插件之一就是swiper,但是我們在做左右多個slider切換的時候,當換到手機端上的時候,我們需要切換顯示的個數(shù)。如果下圖:
比如PC端一行顯示4個圖片:
JS:
var swiper = new Swiper('.swiper-container', { slidesPerView: 4, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, });
但是顯示在手機上不能顯示4個,需要顯示1個或者兩個。
var swiper = new Swiper('.swiper-container', { slidesPerView: 1, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, });
那么我們就可以通過JS來監(jiān)聽窗口的大小變化來調(diào)用不同的代碼。
代碼如下:
//打開網(wǎng)頁時的寬度,必須保留 var windowsize = $(window).width(); if( windowsize > 768 ) { // 屏寬1330觸發(fā) //主體 var swiper = new Swiper('.swiper-container', { slidesPerView: 4, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); //主體 }else{ //主體 var swiper = new Swiper('.swiper-container', { slidesPerView: 1, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); //主體 } //監(jiān)測網(wǎng)頁時的寬度變化,以及實時更新 $(window).resize(function() { windowsize = $(window).width(); if( windowsize > 768 ) { // 屏寬1330觸發(fā) //主體 var swiper = new Swiper('.swiper-container', { slidesPerView: 4, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); //主體 }else{ //主體 var swiper = new Swiper('.swiper-container', { slidesPerView: 1, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, }); //主體 } });
以上是用JS來寫的?,F(xiàn)在提供另一方法 就是swiper自帶的效果:
var swiper = new Swiper('.swiper-container', { slidesPerView: 4, spaceBetween: 30, loop: true, autoplay:true, speed: 500, // 如果需要分頁器 pagination: { el: '.swiper-pagination', clickable :true, }, // 如果需要前進后退按鈕 navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, //響應(yīng)式個數(shù) breakpoints: { //當寬度小于等于640時顯示 640: { slidesPerView: 1, spaceBetween: 20 }, //當寬度小于等于768時顯示 768: { slidesPerView: 3, spaceBetween: 30 }, //當寬度小于等于992時顯示 992: { slidesPerView: 4, spaceBetween: 30 } } });