动态显示百分圆

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<style>
.circle {
width: 200px;
height: 200px;
position: relative;
float:left;
border-radius: 50%;
background: #F64E58;
overflow: hidden;
}
.pie_left, .pie_right {
width: 200px;
height: 200px;
position: absolute;
top: 0;left: 0;
}
.left, .right {
width:200px;
height:200px;
background:#C3C3C3;
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
transition: all 2s linear; }
.left{transition: all 2s linear .5s;} .right{
/* transform: rotate(30deg);*/
}
.pie_right, .right {
clip:rect(0,auto,auto,100px);
}
.pie_left, .left {
clip:rect(0,100px,auto,0);
}
.theValue {
width: 180px;
height: 180px;
border-radius: 50%;
top: 10px;
left: 10px;
background: white;
position: absolute;
text-align: center;
line-height: 180px;
font-size: 20px;
color: #F64E58; }
</style>
</head>
<body>
<div class="circle">
<div class="pie_left"><div class="left"></div></div>
<div class="pie_right"><div class="right"></div></div>
<div class="theValue"><span class="vauNum">81</span>%</div>
</div>
<div class="circle">
<div class="pie_left"><div class="left"></div></div>
<div class="pie_right"><div class="right"></div></div>
<div class="theValue"><span class="vauNum">20</span>%</div>
</div>
<script type="text/javascript">
$(function() {
$('.circle').each(function(index, el) {
var num = $(this).find('.vauNum').text() * 3.6;
if (num<=180) { $(this).find('.right').animate({
aa:num
},{
step:function(now,fx){ $(this).css('transform', "rotate(" +now + "deg)");
},
duration:1500
})
} else{ var that=$(this).find('.right');
that.css('transform', "rotate(180deg)");
$(this).css('transform', "rotate(0deg)");
$(this).find('.left').animate({
cc:num-180 },{
step:function(now,fx){
console.log(now+"ccc"); //参数step:规定每个动画的每一步完成之后要执行的函数
// now:是当前动画正在改变的属性的实时值;
// fx: jQuery.fx 原型对象的一个引用,其中包含了多项属性,比如
// 执行动画的元素:elem;
// 动画正在改变的属性:prop;
// 正在改变属性的当前值:now;
// 正在改变属性的结束值:end;
// 正在改变属性的单位:unit;等
// 可在这里改变animate第1个参数中设置的属性bb在动画结束时的值 $(this).css('transform', "rotate(" + (now) + "deg)"); },
duration:1500
}) };
}); });
</script>
</body> </html>
05-08 15:36