charts.setSize()
报Uncaught TypeError: Cannot read properties of undefined (reading 'setSize')
报错如下图:
报错代码如下:
$(document).ready(function() {
$(window).resize(function() {
const height = document.body.scrollHeight;
const width = document.body.offsetWidth;
chart.setSize((width*0.9)-(12*3), height*0.95*0.84,false);
});
}
原因: 执行chart.setSize()
时chart还未被渲染,此时chart未被赋值,所以报错。
解决方案:
使用定时器,检查chart是否被渲染,如果已经被赋值,则调用对应方法,执行完后关闭定时器。
代码如下:
var timer = setInterval(function () {
// 判断chart是否渲染
if (chart != null){
$(window).resize(function() {
const height = document.body.scrollHeight;
const width = document.body.offsetWidth;
chart.setSize(width, height,false);
// 关闭定时器
window.clearInterval(timer);
});
}
},1000);