点击按钮创建一个带有css动画的放射状进度条
Creating a radial progress bar with css animation on button click
我在尝试实现这一点时遇到了一个大问题。我不知道如何为某个东西设置动画,使其在圆圈中旋转,所以我从circle Progress Bar中获取了一个正在工作的项目,并试图找到一种方法,使用jquery在单击按钮时使其设置动画。我试着使用这个教程,但不知道如何正确地结合它。请帮助。这是我的Fiddle,虽然它还不起作用。
.progress {
width:200px;
height:200px;
background:#fff;
border:2px solid #000;
position:relative;
margin:50px;
border-radius:50%;
overflow:hidden;
transform: translateZ(0px);
display:inline-block;
}
.activatedAfter {
-moz-animation:turn 4s linear forwards;
-webkit-animation:turn 4s linear forwards;
-moz-animation-delay:4s;
-webkit-animation-delay:4s;
}
.activated {
-moz-animation:turn 4s linear forwards;
-webkit-animation:turn 4s linear forwards;
-o-animation:turn 4s linear forwards;
-ms-animation:turn 4s linear forwards;
animation:turn 4s linear forwards;
}
@-moz-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-webkit-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-o-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-ms-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
我在您的fiddle中将$('#progress')
更改为$('.progress')
,因为"progress"是一个类而不是ID。此外,我还用您提供的链接中的示例中的activated:after
和activated:before
样式替换了activatedAfter
样式。
此外,我在代码中添加了jQuery库(它没有包含在您的fiddle中)
试试这个
$('#battleButton').click(function() {
$('.progress').addClass('activated activatedAfter');
});
body {
background-color: #000;
}
.progress {
width:200px;
height:200px;
background:#fff;
border:2px solid #000;
position:relative;
margin:50px;
border-radius:50%;
overflow:hidden;
transform: translateZ(0px);
display:inline-block;
}
.activated:after {
position:absolute;
content:"";
width:100%;
height:100%;
top:0;
left:-50%;
background:tomato;
-moz-animation:turn 4s linear forwards;
-webkit-animation:turn 4s linear forwards;
-moz-animation-delay:4s;
-webkit-animation-delay:4s;
transform-origin:100% 50%;
z-index:1;
}
.activated:before {
position:absolute;
content:"";
width:100%;
height:100%;
top:0;
left:50%;
background:tomato;
-moz-animation:turn 4s linear forwards;
-webkit-animation:turn 4s linear forwards;
-o-animation:turn 4s linear forwards;
-ms-animation:turn 4s linear forwards;
animation:turn 4s linear forwards;
transform-origin:0% 50%;
z-index:2;
}
@-moz-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-webkit-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-o-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@-ms-keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
@keyframes turn {
99.9% {
transform:rotate(180deg);
background:tomato;
}
100% {
background:#fff;
}
}
button {
background-color: rgba(0, 0, 0, 0);
border-color: #81ff14;
color: #81ff14;
border-radius: 10%;
float: right;
margin-right: 100px;
margin-top: 15px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="progress"></div>
<button id="battleButton">Battle</button>
相关文章:
- 动画.CSS重播
- 如何使用css动画/javascript使具有背景图像的元素出现
- 如何使用css动画从中心增加边界线
- 动画CSS进度条
- 点击CSS动画
- 选项卡式元素上的动画CSS转换
- 使用jquery在特定的时间间隔自动切换/动画css类
- 有棱角的ng显示与动画.css
- 如何使用动画css来显示随机赞美
- 如何将动画 css 添加到引导下拉列表
- 动画.css - 它是如何工作的?如何使其自动工作
- 视差.js和动画.css -> onClick 不起作用
- CSS3 动画.css不适用于自定义模态
- bxSlider - 仅在当前幻灯片上制作动画/CSS
- 图像与动画CSS +提交按钮悬停
- 如何通过变量动画css属性
- 动画css效果- JQuery
- 动画css/js波形不随窗口大小调整大小
- Javascript动画CSS浮动属性
- 动画.css动画之间的延迟