新闻中心 网络推广 网站建设 优化推广

jq实时监测窗口大小,来调用不用的swiper效果

时间:2023-07-02   来源:本站

在网站开发过程中,我们用得很多的插件之一就是swiper,但是我们在做左右多个slider切换的时候,当换到手机端上的时候,我们需要切换显示的个数。如果下图:

比如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',
            },
            });

image.png

但是显示在手机上不能显示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',
              },
              });

image.png


那么我们就可以通过JS来监听窗口的大小变化来调用不同的代码。

代码如下:

 //打开网页时的宽度,必须保留
var windowsize = $(window).width();
  if( windowsize > 768 ) {             //  屏宽1330触发
              //主体
           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',
              },
              });
            //主体

      }



  //监测网页时的宽度变化,以及实时更新     
$(window).resize(function() {
  windowsize = $(window).width();
      if( windowsize > 768 ) {             //  屏宽1330触发
              //主体
           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来写的。现在提供另一方法 就是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',
            },
            
            //响应式个数          
            breakpoints: {               
            //当宽度小于等于640时显示
              640: { 
                slidesPerView: 1,
                spaceBetween: 20
               },
            //当宽度小于等于768时显示
              768: {
                slidesPerView: 3,
                spaceBetween: 30
               },
            //当宽度小于等于992时显示
              992: {
                slidesPerView: 4,
                spaceBetween: 30
               }   
            }  

            });



新闻推荐
龙华网站建设多少钱?
龙华网站建设多少钱?

大家好,这里是黑马视觉,今天我们来聊聊在深圳建一个网站需要多少钱?龙华网站建设需要多少钱?从所周知,...

龙华外贸网站建设必需知道的四大注意事项
龙华外贸网站建设必需知道的四大注意事项

在深圳有很多外贸公司,他们已经不满足于通过其他平台来引流,于是他们都需要建设一个自己自己的外贸网站,...

宝塔防火墙导致无法引入JS
宝塔防火墙导致无法引入JS

在最新一版的宝塔NGINX免费防火墙中,有一条规则是:我们可以看到里面有:script,所以会导致在添加一些第三...

网站没有安装SSL证书了,但是谷歌浏览器依旧跳转到HTTPS,怎么处理?
网站没有安装SSL证书了,但是谷歌浏览器依旧跳转到HTTPS,怎么处...

假如你的网站之前安装了SSL证书,然后到期之后,你将你的网站SSL证书也删除了。但是在使用谷歌浏览器打开网...

Top