`

圆形进度条(假的无限循环)

    博客分类:
  • web
 
阅读更多
<div id="outer">
  <div id="load_left"><span></span></div>
  <div id="load_right"><span></span></div>
  <div id="inner">请耐心等待</div>
</div>

	var leftRot = document.getElementById('load_left').children[0],
		    rightRot = document.getElementById('load_right').children[0],
		    showVal = document.getElementById('inner');


		function rotControl(e) {
		  var target = e.target,
		      val = target.value;
		  console.log(val);
		  if (val <= 180) {
		    rightRot.style.transform = 'rotate(' + val + 'deg)';
		    leftRot.style.transform = 'rotate(0deg)';
		  }
		  if (val>180) {
		    leftRot.style.transform = 'rotate(' + (val - 180) + 'deg)';
		    rightRot.style.transform = 'rotate(180deg)';
		  }

		  if (showVal.innerText) {
		    showVal.innerText = Math.floor((val / 360) * 100)  + '%';
		  }
			else if (showVal.textContent) {
		    showVal.textContent = Math.floor((val / 360) * 100)  + '%';
		  }

		}



@-webkit-keyframes rot_left {
  0%{transform: rotate(0deg);}
  50%{transform: rotate(0deg);}
  100%{transform: rotate(180deg);}
}
@-webkit-keyframes rot_right {
  0%{transform: rotate(0deg);}
  50%{transform: rotate(180deg);}
  100%{transform: rotate(180deg);}
}
@keyframes rot_left {
  0%{transform: rotate(0deg);}
  50%{transform: rotate(0deg);}
  100%{transform: rotate(180deg);}
}
@keyframes rot_right {
  0%{transform: rotate(0deg);}
  50%{transform: rotate(180deg);}
  100%{transform: rotate(180deg);}
}

#outer {
  width: 180px;
  height: 180px;
  margin: 0 auto;
  background: rgb(173, 88, 36);
  border-radius: 50%;
  position: relative;
  overflow: hidden;
}

#inner {
  width: 150px;
  height: 150px;
  background: rgb(224, 151, 83);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -75px;
  margin-top: -75px;
  text-align: center;
  line-height: 150px;
}

#load_left, #load_right {
  width: 90px;
  height: 180px;
  /*background: rgb(249, 199, 149);*/
  position: absolute;
  overflow: hidden;
}
#load_left {
  top: 0;
  left: 0;
  border-top-left-radius: 100% 50%;
  border-bottom-left-radius: 100% 50%;
  transform-origin: 100% 50%;
  /*-webkit-animation: rot_left 10s linear infinite;*/
}
#load_right {
  top: 0;
  left: 50%;
  border-top-right-radius: 100% 50%;
  border-bottom-right-radius: 100% 50%;
  transform-origin: 0 50%;
}
#load_left span, #load_right span {
  display: inline-block;
  width: 90px;
  height: 180px;
  background: rgb(249, 199, 129);
  position: absolute;
}
#load_left span {
  border-top-left-radius: 100% 50%;
  border-bottom-left-radius: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rot_left 3s infinite linear ;
  animation: rot_left 3s infinite linear  ;
}
#load_right span {
  top: 0;
  right: 0%;
  border-top-right-radius: 100% 50%;
  border-bottom-right-radius: 100% 50%;
  transform-origin: 0 50%;
  -webkit-animation: rot_right 3s infinite linear ;
  animation: rot_right 3s infinite linear ;
}
分享到:
评论

相关推荐

    C# Winform圆形进度条(改良版)

    在C# WinForm开发中,有时我们希望创建更具有视觉吸引力和独特性的用户界面元素,圆形进度条就是其中一种。本教程将详细讲解如何利用C#和GDI+技术实现一个改良版的圆形进度条,它不仅展示了进度,还能够在进度条内部...

    漂亮的圆形进度条

    在.NET框架中,创建一个“漂亮的圆形进度条”可以为用户界面增添美观和现代感,同时提供一种直观的方式来展示任务的进度。C#语言提供了丰富的控件和自定义绘图功能,使得开发者能够轻松实现这样的效果。下面我们将...

    圆形进度条

    在Android开发中,创建一个圆形进度条是一种常见的需求,它能以直观的方式展示数据的加载或处理进度。这里我们讨论的“圆形进度条”是一个自定义控件的实现,这通常涉及到对Android视图系统(View System)的深入...

    带进度的圆形进度条,可显示百分比

    圆形进度条是一种常见的UI元素,常用于展示数据加载、任务完成度或过程监控等场景。"带进度的圆形进度条,可显示百分比"这个主题,就是关于如何创建这样一个动态的、具有反馈功能的图形组件的讨论。 首先,我们要...

    js圆形进度条css圆形进度条.zip

    "js圆形进度条css圆形进度条.zip"是一个压缩包,包含了实现圆形进度条效果的资源,适用于JavaScript(js)和CSS(css)技术。这个圆形进度条设计允许用户自定义样式,并且具有良好的浏览器兼容性,支持IE8及以上版本...

    qml实现圆形进度条

    在QML中实现一个圆形进度条,主要是利用了Qt Quick的图形化编程能力,它可以创建出丰富的用户界面组件。QML是一种声明式语言,它允许我们以数据驱动的方式来描述UI的结构和行为,使得设计复杂的界面变得更加直观和...

    带进度的圆形进度条源码

    本资源提供了一种特定类型的进度条——带进度的圆形进度条的源码,这种设计风格通常被用在现代、简洁的应用程序中,以提升用户体验。圆形进度条相较于传统的线性进度条,更具有视觉吸引力,且占用空间相对较小。 ...

    WPF实现的圆形进度条

    在Windows Presentation Foundation (WPF) 中,开发人员可以利用丰富的图形功能来创建各种自定义UI元素,其中之一就是圆形进度条。圆形进度条通常用于展示一个任务的进度,它以直观的方式呈现百分比完成状态,与传统...

    WPF中的圆形进度条

    在Windows Presentation Foundation(WPF)和Silverlight中,创建一个圆形进度条是一种常见的需求,用于显示数据加载或处理过程的进度。"WPF中的圆形进度条"项目由Timo Korinth提供,它为开发者提供了实现这种效果的...

    Unity+UGUI 圆形进度条

    本教程将详细介绍如何使用Unity和UGUI来创建一个圆形进度条,并探讨其在进度指示和拖拽验证码功能上的应用。 一、UGUI基础知识 UGUI是Unity 4.6版本引入的新的UI系统,它基于Canvas进行布局,通过 RectTransform ...

    ios圆形进度条代码

    "ios圆形进度条代码"就是一个专门针对iOS平台,适用于版本5.0及以上的圆形进度条实现。这种组件通常用于展示任务完成度或者加载状态,为用户提供了视觉上的反馈。 在iOS中,我们可以使用多种方式来实现圆形进度条。...

    自定义圆形进度条中间加图

    本话题主要探讨的是如何实现一个自定义的圆形进度条,并在其中间添加图像,以提升界面的美观度和交互性。 首先,我们需要理解圆形进度条的基本原理。圆形进度条通常是通过画布(Canvas)进行绘制的,利用Android的...

    圆形进度条和圆形loading源码

    "圆形进度条"和"圆形loading"是UI设计中常见的元素,它们通常用于指示任务的完成状态或者加载过程,使得用户能够直观地了解程序的运行状态。下面我们将详细探讨这两种元素的实现原理和源码分析。 首先,我们来看...

    WPF圆形进度条WPF圆形进度条

    **WPF圆形进度条详解** 在Windows Presentation Foundation (WPF) 中,进度条是一种常见的UI控件,用于向用户展示某个任务的完成进度。通常,进度条是线性的,但有时候设计需求会需要非线性的,例如圆形进度条。...

    圆形进度条圆形进度条

    圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html圆形进度条 index.html

    Delphi圆形进度条—源码,

    在 Delphi 开发环境中,创建一个圆形进度条可以为用户界面提供独特的视觉效果,同时也能有效地展示任务的进度。这个源码可能包含了实现这一功能的关键组件和代码逻辑。以下是一些关于 Delphi 圆形进度条开发的重要...

    Qt案例之利用QPainter实现自定义圆形进度条.zip

    Qt案例之利用QPainter实现自定义圆形进度条,纯QPainter绘制,不包括图片,详情可参考文章:https://blog.csdn.net/didi_ya/article/details/124378255

    安卓进度条loadingprogress相关-Android源码圆形进度条.rar

    本压缩包“安卓进度条loadingprogress相关-Android源码圆形进度条.rar”包含了Android系统中实现圆形进度条的相关源码,可能是开发者为了展示或者学习如何自定义控件而准备的示例。下面将详细探讨圆形进度条在...

    C#winform 自定义控件实现圆形进度条和环形进度条控件

    本项目专注于创建两种特殊的进度条控件:圆形进度条和环形进度条,这些控件适用于展示任务或进程的进度,视觉效果独特,能吸引用户注意力。通过VS2017开发,它们可以直接在WinForm应用中编译并运行,为用户提供实时...

Global site tag (gtag.js) - Google Analytics