Javascript 没有op if语句导致谷歌图表失败?
一个javascriptJavascript 没有op if语句导致谷歌图表失败?,javascript,google-visualization,Javascript,Google Visualization,一个javascriptif语句如何导致这种情况? if语句的主体总是被执行的,但似乎仅仅是if语句的存在就导致谷歌图表无法正常工作 google.load('visualization', '1', {packages: ['corechart']}); ... ... ... var chart1 = new google.visualization.PieChart(document.getElementById('chartId1')); var chart2 = new google
if
语句如何导致这种情况?
if
语句的主体总是被执行的,但似乎仅仅是if
语句的存在就导致谷歌图表无法正常工作
google.load('visualization', '1', {packages: ['corechart']});
...
...
...
var chart1 = new google.visualization.PieChart(document.getElementById('chartId1'));
var chart2 = new google.visualization.PieChart(document.getElementById('chartId2'));
...
var drawCharts = function() {
var chart1Width = jQuery('#chartId1').width();
var chart2Width = jQuery('#chartId2').width();
...
var data = new google.visualization.DataTable();
var chartOptions = {...};
data.addColumn(...);
data.addColumn(...);
data.addRows([...]);
chart1.draw(data,chartOptions);
console.log('chart 1 drawn');
//if I uncomment the next line the chart is not drawn
//if (chart2Width > 80) {
data = new google.visualization.DataTable();
data.addColumn(...);
data.addColumn(...);
data.addRows([...]);
chart2.draw(data,chartOptions);
console.log('chart 2 drawn');
//if I uncomment the next line the chart is not drawn
//} else {console.log('chart 2 not drawn');}
};
drawCharts();
jQuery(...).bind(...., function() {drawCharts();});
此外,只有在添加if语句时,我才能从chart2.draw(…)中获得大量异常代码>行:错误:属性cy=“NaN”的值无效,错误:属性d=“MNaN,NaNL226,NaNL226,1.5L409.5,1.5”的值无效,错误:属性d=“MNaN,NaNL206,NaNL206,1.5L22.5,1.5”的值无效,等等
因为console.log('绘制图表2')代码>发生在任何一种情况下,这意味着if
语句应该没有效果。。。但是图表没有显示,我也有例外
如果一个javascript语句导致这个问题,它怎么可能呢?我在尝试绘制之前,通过强制图形容器的高度来解决这个问题
if (chart2Width > 80) {
jQuery('#chartId2').height(chart2Width/2);
data = new google.visualization.DataTable();
data.addColumn(...);
data.addColumn(...);
data.addRows([...]);
chart2.draw(data,chartOptions);
console.log('chart 2 drawn');
} else {
console.log('chart 2 not drawn');
}
显然,chartArea.height
配置选项没有按预期工作
仍然不知道为什么在不可见的情况下渲染图形会导致忽略可忽略的错误,但是如果高度没有明确设置,那么当图形变为可见时,这些错误是必需的…因此,当您输入if语句时,它不工作,当它工作不正常时。chart2Width
就在if语句之前?@BrianShamblenchart2Width
类似于250+,但当页面加载时,根据图表是否隐藏,它可能是25或更少。在使用相同的工具绘图之前,我还尝试重新说明chart2
results@Mikeychart2在显示时可以正常工作,但其他4个隐藏的图表在每次尝试绘制时都会导致几十个错误,错误是因为图表不可见且“宽度”小于25,而google以负长度呈现svg。。。因此,我假设如果我试图通过进行宽度检查来阻止它,这将阻止在图表隐藏时绘制,但相反,它会导致图表在可见时无法工作,从而使情况变得更糟