Я пытаюсь изменить видимость столбцов Dygraph GVizChart.
Это работает:
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
});
}
Также это работает:
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
visibility: [false, true, true, true]
});
}
Но внутри drawChart
, после этого кода, когда я добавляю следующие строки,
function drawChart() {
data = getData();
window.chart1 = new Dygraph.GVizChart(
document.getElementById('dygraphs')).draw(data, {
});
window.chart1.setVisibility(0, true);
window.chart1.setVisibility(1, false);
}
Я получаю сообщение об ошибке: Uncaught TypeError: Cannot call method 'setVisibility' of undefined. drawChart
Прочитав этот вопрос, я подумал, может быть, chart1
не готов к моменту выполнения. Поэтому я добавил эту функцию:
function showChange() {
alert('show chart1:' + window.chart1);
window.chart1.setVisibility(3, false);
}
<a href="#" onclick='showChange();return false;'>showChange</a>
Но когда я нажимаю на ссылку showChange
, я получаю ту же ошибку: Uncaught TypeError: Cannot call method 'setVisibility' of undefined
И в окне предупреждения написано show chart1: undefined