通过函数计算得到gwp的数值,如果转化成全局变量值,用到后面的绘图函数中
var gwp1=[];
$(function(){
var dom = document.getElementById("box4");
var myChart = echarts.init(dom);
var app = {};
option = null;
var y_f = [];
//全局变量,wgid在gognweizongtu.js中获取
var gwp = 0;
var xishu = [0.4,0.2,0.3,0.1];
var pjx = ["gzp","gyp","wlp","ryp"];
var pj = {"gongzhuang":"OK", "gongyi": "OK", "wuliao": "OK", "renyuan": "OK"};
var guige = [90, 90, 80, 75,85];
var xiang = ["gongzhuang","gongyi","wuliao","renyuan"];
for (var i = 0 ; i< xiang.length ; i++) {
var lent = data[xiang[i]].y.length ;
var ind = lent - 1 ;
y_f.push(data[xiang[i]].y[ind]);
if (data[xiang[i]].y[ind] < guige[i]){
pj[xiang[i]] = "NOK";
}
document.getElementById(pjx[i]).innerHTML = pj[xiang[i]];
gwp += y_f[i]*xishu[i];
}
y_f.push(88);
if (gwp > 85.5){
document.getElementById("gwpj").innerHTML ="OK";
}
gwp = gwp.toFixed(2);
/*绘图代码省略*/
};
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
})
上部分代码得到gwp的数值,如何用到后面的画圆代码
darwPro("myCanvas",gwp/100);,画圆时老是提示gwp值为空
<!-- 圆弧绘制-->
//画圆方法
function drawArc(canvas,begin,end,color)
{
canvas.beginPath();
canvas.lineWidth = 6;
canvas.fillStyle = "#ffffff";
canvas.strokeStyle = color;
canvas.arc(48, 48, 40, begin,end);
canvas.fill();
canvas.stroke();
canvas.closePath();
}
//添加文字方法
function drawWord(canvas,text){
canvas.font = 'bold 20px arial';
canvas.fillStyle = 'red';
canvas.fillText(text, 30,53);
}
//每100毫秒画一次,300毫秒完成
function darwPro(id,rate){
//获取画布对象
var canvasID = document.getElementById("myCanvas");
var canvas = canvasID.getContext("2d");
window.alert(rate);
//先画背景
drawArc(canvas,-0.5*Math.PI,1.5*Math.PI,"#EDEDED");
//setInterval()函数至少执行一次(当rate为零时直接返回)
if(rate == 0){
return;
}
//为了体现动态图使用分段画图的策略
var begin = -0.5*Math.PI;//起始角度
var end = 2*Math.PI*rate-0.5*Math.PI;//结束角度
var add = 2*Math.PI*rate/10;//分段的增量
//分10次完成每次间隔50毫秒
var sid = setInterval(function(){
if(begin >= end){
clearInterval(sid);
return;//此处必须return;因为即使clearInterval,函数仍然会执行一次导致比例不准确
}
drawArc(canvas,begin, begin + add,"green");
//下次起始位置置为上次结束的位置
begin = begin + add;
}, 50);
//显示百分比的文字
drawWord(canvas,rate*100 + "%");
}
darwPro("myCanvas",gwp/100);