赣州建站资讯网

为消费者提供更优质的体验

swiper圆形进度条分页器


利用两个圆,通过旋转隐藏的方式来达到效果。如下:

swiper圆形进度条分页器

<div class="swiper-container">
	<div class="swiper-wrapper">
		<div class="swiper-slide">
			<img src="./themes/simple/img/banner.jpg" 
		</div>
		<div class="swiper-slide">
			<img src="./themes/simple/img/banner.jpg" alt="banner" 
		</div>
		<div class="swiper-slide">
			<img src="./themes/simple/img/banner.jpg" alt="banner" title="banner" class="max-img">
		</div>
	</div>
	<!-- 分页器 -->
	<div class="swiper-buttons">
		<div class="back">
			<div class="circle circle-left absolute">
				<div class="inner inner-left"></div>
			</div>
			<div class="circle circle-right absolute">
				<div class="inner inner-right"></div>
			</div>
		</div>
		<div class="swiper-num absolute-center flex">
			<span class="index">01</span>-
			<span class="total">02</span>
		</div>
	</div>
</div>
var mySwiper = new Swiper('.swiper-container', {
	autoplay: {
		delay: 4500,
		stopOnLastSlide: false,
		disableOnInteraction: false,
	},
	on: {
		init: function() {
			var total = this.slides.length;
			$('.swiper-num .total').text('0' + total);
			var rotate = 360 / total - 45;
			$('.swiper-buttons .inner-right').css('transform','rotate(' + rotate + 'deg)');
		},
		transitionEnd: function() {
			var index = this.realIndex + 1;
			$('.swiper-num .index').text('0' + index);
			var rotate = 360 / this.slides.length;
			if(rotate*index > 180) {
				var currentRotate = rotate*index - 180 - 45;
				$('.swiper-buttons .inner-right').css('transform','rotate(135deg)');
				setTimeout(() => {
					$('.swiper-buttons .inner-left').css('transform','rotate(' + currentRotate + 'deg)');
				}, 200);
				
			}
			else {
				setTimeout(() => {    // 此处为了过渡圆滑一点
					$('.swiper-buttons .inner-right').css('transform','rotate(' + (rotate*index-45) + 'deg)');
				}, 200);
				$('.swiper-buttons .inner-left').css('transform','rotate(-45deg)');
			}
		}
	}
})


LESS:

.swiper-buttons {
   position: absolute;
   left: 50%;
   bottom: 32%;
   transform: translateX(-50%);
   z-index: 2;
   text-align: center;
   color: rgba(0,113,182,.35);
   .back {
       position: relative;
       width: 105px;
       height: 105px;
       border: 2px solid rgba(0,113,182,.2);
       border-radius: 50%;
       .circle {
           top: -2px;
           width: 53px;
           height: 106px;
           overflow: hidden;
           .inner {
               width: 106px;
               height: 106px;
               border: 2px solid transparent;
               border-radius: 50%;
               border-bottom-color: @website-color;    // 自定义颜色
               border-right-color: @website-color;
               transform: rotate(-45deg);
               transition: all .2s;
           }
       }
       .circle-right {
           left: -2px;
           transform: rotate(180deg);
           transform-origin: 100% 50%;
       }
   }
   .swiper-num {
       font-size: 18px;
       span {
           margin-left: 8px;
       }
       .index {
           margin-left: 0;
           margin-right: 8px;
           color: @website-color;
       }
   }
}


- END -
声明:文字图片等素材除标明原创外均来源于网络,如有侵权,请及时告知我们,我们将在最短的时间内删除!

相关推荐

微信公众平台:圆狐创意

关注圆狐创意微信公众平台浏览最新资讯

更多媒体及商务合作

QQ:295939675   或  至电:198-6662-0460