在網(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
               }   
            }  
            });