<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#和GDI+技术实现一个改良版的圆形进度条,它不仅展示了进度,还能够在进度条内部...
在.NET框架中,创建一个“漂亮的圆形进度条”可以为用户界面增添美观和现代感,同时提供一种直观的方式来展示任务的进度。C#语言提供了丰富的控件和自定义绘图功能,使得开发者能够轻松实现这样的效果。下面我们将...
在Android开发中,创建一个圆形进度条是一种常见的需求,它能以直观的方式展示数据的加载或处理进度。这里我们讨论的“圆形进度条”是一个自定义控件的实现,这通常涉及到对Android视图系统(View System)的深入...
圆形进度条是一种常见的UI元素,常用于展示数据加载、任务完成度或过程监控等场景。"带进度的圆形进度条,可显示百分比"这个主题,就是关于如何创建这样一个动态的、具有反馈功能的图形组件的讨论。 首先,我们要...
"js圆形进度条css圆形进度条.zip"是一个压缩包,包含了实现圆形进度条效果的资源,适用于JavaScript(js)和CSS(css)技术。这个圆形进度条设计允许用户自定义样式,并且具有良好的浏览器兼容性,支持IE8及以上版本...
在QML中实现一个圆形进度条,主要是利用了Qt Quick的图形化编程能力,它可以创建出丰富的用户界面组件。QML是一种声明式语言,它允许我们以数据驱动的方式来描述UI的结构和行为,使得设计复杂的界面变得更加直观和...
本资源提供了一种特定类型的进度条——带进度的圆形进度条的源码,这种设计风格通常被用在现代、简洁的应用程序中,以提升用户体验。圆形进度条相较于传统的线性进度条,更具有视觉吸引力,且占用空间相对较小。 ...
在Windows Presentation Foundation (WPF) 中,开发人员可以利用丰富的图形功能来创建各种自定义UI元素,其中之一就是圆形进度条。圆形进度条通常用于展示一个任务的进度,它以直观的方式呈现百分比完成状态,与传统...
在Windows Presentation Foundation(WPF)和Silverlight中,创建一个圆形进度条是一种常见的需求,用于显示数据加载或处理过程的进度。"WPF中的圆形进度条"项目由Timo Korinth提供,它为开发者提供了实现这种效果的...
本教程将详细介绍如何使用Unity和UGUI来创建一个圆形进度条,并探讨其在进度指示和拖拽验证码功能上的应用。 一、UGUI基础知识 UGUI是Unity 4.6版本引入的新的UI系统,它基于Canvas进行布局,通过 RectTransform ...
"ios圆形进度条代码"就是一个专门针对iOS平台,适用于版本5.0及以上的圆形进度条实现。这种组件通常用于展示任务完成度或者加载状态,为用户提供了视觉上的反馈。 在iOS中,我们可以使用多种方式来实现圆形进度条。...
本话题主要探讨的是如何实现一个自定义的圆形进度条,并在其中间添加图像,以提升界面的美观度和交互性。 首先,我们需要理解圆形进度条的基本原理。圆形进度条通常是通过画布(Canvas)进行绘制的,利用Android的...
"圆形进度条"和"圆形loading"是UI设计中常见的元素,它们通常用于指示任务的完成状态或者加载过程,使得用户能够直观地了解程序的运行状态。下面我们将详细探讨这两种元素的实现原理和源码分析。 首先,我们来看...
**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 圆形进度条开发的重要...
Qt案例之利用QPainter实现自定义圆形进度条,纯QPainter绘制,不包括图片,详情可参考文章:https://blog.csdn.net/didi_ya/article/details/124378255
本压缩包“安卓进度条loadingprogress相关-Android源码圆形进度条.rar”包含了Android系统中实现圆形进度条的相关源码,可能是开发者为了展示或者学习如何自定义控件而准备的示例。下面将详细探讨圆形进度条在...
本项目专注于创建两种特殊的进度条控件:圆形进度条和环形进度条,这些控件适用于展示任务或进程的进度,视觉效果独特,能吸引用户注意力。通过VS2017开发,它们可以直接在WinForm应用中编译并运行,为用户提供实时...