圆形进度条 问题求助 要么准备足够的图片要么flash要么 根据 (圆就是 到圆心指定距离 的所有 点的集合) 的概念 自己用div模拟 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <canvas id='myCanvas' width='500px' height='500px'></canvas> <div id="msg" style="position:absolute;left:56px;top:56px;width:100px;line-height:100px;text-align:center;font-size:34px"></div> <script> function draw(_end){ var myCanvas = document.getElementById("myCanvas"); var context = myCanvas.getContext("2d"); var x = 100,y = 100, r = 50; var _start = 15; var start = ( _start / 10) * Math.PI ,end = ( _end / 10) * Math.PI ; var color = ''; if(_end < 27){ color='#FF0000'; }else if(_end >= 27 &&_end < 35 ){ color='#0000FF'; }else{ color='#00FF00'; } if(_end!=35){ context.clearRect(0,0,500,500); } document.getElementById('msg').innerHTML = '<span style="color:'+color+'">'+( _end - _start ) * 5+'%</span>'; context.lineWidth = 3; context.strokeStyle = color; context.beginPath(); context.arc(x,y,r,start,end); context.stroke(); } var end = 15; var clock = setInterval(function(){ end = end + 1; draw(end); if(parseInt(end)==35){ clearInterval(clock); } },100); </script> canvas写了个,略龊,CSS3也可以实现 谢谢,问下多加一个颜色呢,50%-75% 我这边怎么加上没效果function draw(_end){ var myCanvas = document.getElementById("myCanvas"); var context = myCanvas.getContext("2d"); var x = 100,y = 100, r = 50; var _start = 15; var start = ( _start / 10) * Math.PI ,end = ( _end / 10) * Math.PI ; var color = ''; //将角度来求进度 var process = parseInt( 100 / 20 * (_end - _start)) if(process>=0&&process<25){ color='#FF0000'; }else if(process >= 25 &&process < 50 ){ color='#FFF000'; }else if(process >= 50 &&process < 75 ){ color='#0000FF'; }else if(process >= 75 &&process < 100 ){ color='#00FFFF'; }else{ color='#00FF00'; } if(process!=100){ context.clearRect(0,0,500,500); } document.getElementById('msg').innerHTML = '<span style="color:'+color+'">' + process + '%</span>'; context.lineWidth = 3; context.strokeStyle = color; context.beginPath(); context.arc(x,y,r,start,end); context.stroke(); }把draw方法改下,直接把角度转换成进度,然后判断进度就行了。 这段JS错误怎么回事? 一正则问题。。。 问题很着急,在线等,脚本引起异常。 居中的问题 js 操作xml 在指定节点后添加兄弟节点,在线等.................. 如何实现行选? Object.getPrototypeOf(), 传入参数为对象构造函数返回了这么个玩意儿?? 把鼠标移到一行字上,会自动弹出关于这行字的信息!怎么做?? 简单问题 急!!有checkbox的树遍历后浏览器很卡的问题,小女子求js大神帮帮忙 怎么样重写Dom的方法函数? =============return false 不起作用了=============================
<canvas id='myCanvas' width='500px' height='500px'></canvas>
<div id="msg" style="position:absolute;left:56px;top:56px;width:100px;line-height:100px;text-align:center;font-size:34px"></div>
<script>
function draw(_end){
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var x = 100,y = 100, r = 50;
var _start = 15;
var start = ( _start / 10) * Math.PI ,end = ( _end / 10) * Math.PI ;
var color = '';
if(_end < 27){
color='#FF0000';
}else if(_end >= 27 &&_end < 35 ){
color='#0000FF';
}else{
color='#00FF00';
}
if(_end!=35){
context.clearRect(0,0,500,500);
}
document.getElementById('msg').innerHTML = '<span style="color:'+color+'">'+( _end - _start ) * 5+'%</span>';
context.lineWidth = 3;
context.strokeStyle = color;
context.beginPath();
context.arc(x,y,r,start,end);
context.stroke();
}
var end = 15;
var clock = setInterval(function(){
end = end + 1;
draw(end);
if(parseInt(end)==35){
clearInterval(clock);
}
},100);
</script> canvas写了个,略龊,CSS3也可以实现
var myCanvas = document.getElementById("myCanvas");
var context = myCanvas.getContext("2d");
var x = 100,y = 100, r = 50;
var _start = 15;
var start = ( _start / 10) * Math.PI ,end = ( _end / 10) * Math.PI ;
var color = '';
//将角度来求进度
var process = parseInt( 100 / 20 * (_end - _start))
if(process>=0&&process<25){
color='#FF0000';
}else if(process >= 25 &&process < 50 ){
color='#FFF000';
}else if(process >= 50 &&process < 75 ){
color='#0000FF';
}else if(process >= 75 &&process < 100 ){
color='#00FFFF';
}else{
color='#00FF00';
}
if(process!=100){
context.clearRect(0,0,500,500);
}
document.getElementById('msg').innerHTML = '<span style="color:'+color+'">' + process + '%</span>';
context.lineWidth = 3;
context.strokeStyle = color;
context.beginPath();
context.arc(x,y,r,start,end);
context.stroke();
}
把draw方法改下,直接把角度转换成进度,然后判断进度就行了。