圆环进度条,根据环内的数字,实现百分比进度。希望大家多多指点。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script> <title>圆环进度条</title> <style> * {margin: 0;padding: 0} .container .first { left: 10px; top: 20px; } .container .second { left: 10px; top: 100px; } .container .third { left: 10px; top: 180px; } .container .fourth { left: 10px; top: 260px; } .circle { width: 74px; height: 74px; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; background: #f04f4b; position: absolute; } .circle .circle_left { display: block; width: 74px; height: 74px; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; position: absolute; left: 0; top: 0; clip: rect(0,37px,74px,0) } .circle .circle_left div,.circle .circle_right div { display: block; width: 74px; height: 74px; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; position: absolute; left: 0; top: 0; background: #eee; } .circle .circle_left div {clip: rect(0,37px,74px,0)} .circle .circle_right div {clip: rect(0,74px,74px,37px)} .circle .circle_right { display: block; width: 74px; height: 74px; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; position: absolute; left: 0; top: 0; clip: rect(0,74px,74px,37px) } .circle span { display: block; width: 68px; height: 68px; font-size: 27px; text-align: center; line-height: 68px; background: #fff; -webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%; color: #f04f4b; position: absolute; top: 3px; left: 3px; } </style> </head> <body> <div class="container"> <div class="circle first"> <section class="circle_left"><div></div></section> <section class="circle_right"><div></div></section> <span id="plan_num1">25%</span> </div> <div class="circle second"> <section class="circle_left"><div></div></section> <section class="circle_right"><div></div></section> <span id="plan_num2">50%</span> </div> <div class="circle third"> <section class="circle_left"><div></div></section> <section class="circle_right"><div></div></section> <span id="plan_num3">75%</span> </div> <div class="circle fourth"> <section class="circle_left"><div></div></section> <section class="circle_right"><div></div></section> <span id="plan_num4">100%</span> </div> </div> <script> window.onload = function () { circleAnimate(‘plan_num1‘); circleAnimate(‘plan_num2‘); circleAnimate(‘plan_num3‘); circleAnimate(‘plan_num4‘); $(‘#app_x‘).on(‘click‘, function () { $(this).parent().hide(); }); function circleAnimate(which){ var span = $(‘#‘+which); var num = parseInt(span.text()); var degS = num/100*360; if(degS<=180){ var r = 0; var timer = setInterval(function () { r++; if (r>=degS){ clearInterval(timer); } span.siblings(‘.circle_right‘).children().css(‘transform‘,"rotate(" + r + "deg)"); },5) }else{ var r = 0; var timer = setInterval(function () { r++; if (r>=degS){ clearInterval(timer); }if(r<=180){ span.siblings(‘.circle_right‘).children().css(‘transform‘,"rotate(" + r + "deg)") }else{ span.siblings(‘.circle_left‘).children().css(‘transform‘,"rotate(" + (r -180) + "deg)") } },5) } } } </script> </body> </html>
原文:http://www.cnblogs.com/caiqingchong/p/5231943.html