异形轮播图

html部分:

 <div class="h-applica ptbT1">
              <div class="lists minWidthT1">
                <div class="swiper-container">
                  <div class="swiper-wrapper">
                    <div class="swiper-slide">
                      <a href="#">
                      <img src="images/zt-zfkfr/zfkfr_lb1.png" />
                      </a>
                    </div>	
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	  
                     <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	   
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zfkfr_lb1.png" />

                      </a>
                    </div>	   
                    <div class="swiper-slide">
                      <a href="#">
                        <img src="images/zt-zfkfr/zt-zsccz-img-1-2.jpg" />
                      </a>
                    </div>		
                 
                  </div>
                </div>
                <div class="swiper-button-prev aniview slow" av-animation="fadeInUp"></div>
                <div class="swiper-button-next aniview slow" av-animation="fadeInUp"></div>
              </div>
            </div>

css部分:(响应式需要结合js自己调)

 .minWidthT1 { width: 100%; margin: auto;}

      .h-applica {}

      .h-applica .lists { position: relative; }

      .h-applica .lists .swiper-container { height: 350px;margin: 0 165px;}

      .h-applica .swiper-slide { width: 800px; height: 350px; position: relative; text-align: center;}

      .h-applica .swiper-slide a{display: block;}

      /* .h-applica .swiper-slide.swiper-slide-active{width: 570px !important;} */

      .h-applica .swiper-slide.swiper-slide-active a { display: block; width: 100%; position: relative;z-index: 2; border-radius: 20px;}

      .h-applica .swiper-slide a:hover{opacity: 0.9;}

      .h-applica .swiper-slide img { width: 100%; height: 350px;border-radius: 20px;}

      .h-applica .swiper-slide:after { content: ""; position: absolute; border-radius: 20px;top: 0; right: 0; bottom: 0; left: 0; background: #000; opacity: .4; transition: .3s;}

      .h-applica .swiper-slide.swiper-slide-active:after { opacity: 0; }

      .h-applica .swiper-slide .txtT1 { height: 48px; line-height: 48px; padding: 0 20px; font-weight: 700; font-size: 16px; color: #fff; text-align: center; overflow: hidden; position: absolute; left: 0; bottom: 0; right:0; background: rgba(0,0,0,.5); overflow: hidden;}

      .h-applica .swiper-slide .moreT1 { display: none; margin-top: 50px;}

      .h-applica .swiper-slide.swiper-slide-active .moreT1 { display: inline-block;}

      .h-applica .swiper-pagination-bullets .swiper-pagination-bullet {margin: 0 5px;border: 3px solid #fff;background-color: #d5d5d5;width: 10px;height: 10px;opacity: 1;}

      .h-applica .swiper-pagination-bullets .swiper-pagination-bullet-active {border: 3px solid #00aadc;background-color: #fff;}

      .h-applica .swiper-button-prev,.h-applica .swiper-button-next {width: 63px; height: 138px; background-size: 62px; transform: translateY(-30%); }

js部分:

 var personsSwiper = new Swiper('.h-applica .swiper-container', {
	       loop: true,
         loopedSlides: 5,
        slidesPerView: 5, // 当展示的个数不一样时,调整这个
        spaceBetween:-418,// 然后,调整这个,让他保持最佳显示
        centeredSlides : true,
        watchSlidesProgress : true,
	      navigation: {
	        nextEl: '.h-applica .swiper-button-next',
	        prevEl: '.h-applica .swiper-button-prev',
	      },
        autoplay: {
				delay: 2500,
				disableOnInteraction: false,
			},
        breakpoints: { 
						//当宽度小于等于768时显示
						1200: {
							slidesPerView: 3,
							spaceBetween:-338
						},
						760: {
							slidesPerView: 1,
							spaceBetween: 418
						},
				},
        on: {
            setTranslate: function(){
            slides = this.slides
            for(i=0; i< slides.length; i++){
              
              slide = slides.eq(i)
              slideProgress = slides[i].progress
              modify = 1;
	            if (Math.abs(slideProgress) > 1) {
	              modify = (Math.abs(slideProgress) - 1) * 0.3 + 1;
	            }
              scale = 1 - Math.abs(slideProgress) / 5.5; // 5.5调整缩放的比例
              slide.css({'opacity': '','background': ''});slide.transform('');//清除样式
              // slide.css('opacity',(1-Math.abs(slideProgress)/6));
              slide.transform('scale(' + scale + ')');
              zIndex = 999 - Math.abs(Math.round(10 * slideProgress));
              slide.css('zIndex', zIndex);
              slide.css('opacity', 1);
                
              }	
          },
        // 固定写法
          setTransition: function(transition) {
            for (var i = 0; i < this.slides.length; i++) {
              var slide = this.slides.eq(i)
              slide.transition(transition);
            }
          },
          },
	    })

以下是一个异形轮播图的案例,使用了Swiper库实现: HTML代码: ```html <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide" style="background-image:url('image1.jpg')"></div> <div class="swiper-slide" style="background-image:url('image2.jpg')"></div> <div class="swiper-slide" style="background-image:url('image3.jpg')"></div> <div class="swiper-slide" style="background-image:url('image4.jpg')"></div> <div class="swiper-slide" style="background-image:url('image5.jpg')"></div> <div class="swiper-slide" style="background-image:url('image6.jpg')"></div> <div class="swiper-slide" style="background-image:url('image7.jpg')"></div> <div class="swiper-slide" style="background-image:url('image8.jpg')"></div> </div> <div class="swiper-pagination"></div> </div> ``` CSS代码: ```css .swiper-container { width: 100%; height: 500px; margin: 0 auto; position: relative; overflow: hidden; } .swiper-slide { width: 50%; height: 100%; background-size: cover; background-position: center; position: absolute; top: 0; left: 0; transition: transform 0.5s ease-in-out; } .swiper-slide:nth-child(1) { transform: translateX(0); } .swiper-slide:nth-child(2) { transform: translateX(50%); } .swiper-slide:nth-child(3) { transform: translateX(100%); } .swiper-slide:nth-child(4) { transform: translateX(150%); } .swiper-slide:nth-child(5) { transform: translateX(200%); } .swiper-slide:nth-child(6) { transform: translateX(250%); } .swiper-slide:nth-child(7) { transform: translateX(300%); } .swiper-slide:nth-child(8) { transform: translateX(350%); } .swiper-pagination { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10; } .swiper-pagination-bullet { width: 10px; height: 10px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.5); margin: 0 10px; cursor: pointer; } .swiper-pagination-bullet-active { background-color: #fff; } ``` JavaScript代码: ```javascript var swiper = new Swiper('.swiper-container', { slidesPerView: 'auto', centeredSlides: true, spaceBetween: 30, pagination: { el: '.swiper-pagination', clickable: true, }, on: { slideChangeTransitionEnd: function() { var activeIndex = this.activeIndex; var slidesLength = this.slides.length; var halfSlidesLength = Math.floor(slidesLength / 2); var halfIndex = activeIndex % halfSlidesLength; var translateX = halfIndex * 50; var slides = this.slides; for (var i = 0; i < slidesLength; i++) { var slide = slides[i]; var slideIndex = slide.getAttribute('data-swiper-slide-index'); var halfSlideIndex = slideIndex % halfSlidesLength; var zIndex = halfSlidesLength - Math.abs(halfIndex - halfSlideIndex); slide.style.transform = 'translateX(' + (50 * (slideIndex - activeIndex)) + '%) scale(' + zIndex / halfSlidesLength + ')'; slide.style.zIndex = zIndex; } }, }, }); ``` 以上代码实现了一个基于Swiper的异形轮播图,通过CSS设置每个轮播项的位置以及过渡效果,通过JavaScript实现了轮播项的缩放和层叠效果。同时,通过Swiper的API实现了轮播图的自动轮播和分页器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值