使用此代码,当我拖动窗口时,我的图表会调整大小,但当我按 Windows 上的最大化按钮或 Mac 上的全屏按钮时不会调整图表大小。这只是一个 Chart.js 问题吗?这是我用于调整图表大小的 JS。
// -- draw the chart ---
$(document).ready(function(){
var ctx = null;
chart= null;
var width = 0;
var screenWidth = $(window).width();
setTimeout(function(){
width = $('##chart').parent().width();
$('##chart').attr("width",width-30);
ctx = $("##chart").get(0).getContext("2d");
chart = new Chart(ctx).Bar(data, options);
// --- resize ---
$( window ).resize(function() {
var newScreenWidth = $(window).width();
if(screenWidth != newScreenWidth){
width = $('##chart').parent().width();
$('##chart').replaceWith('<canvas id="chart" width="650" height="175"></canvas>');
$('##chart').attr("width",width-30);
ctx = $("##chart").get(0).getContext("2d");
chart = new Chart(ctx).Bar(data, options);
}
});
},500);
最佳答案
我从来没有遇到过使用chart.js调整大小的问题,并且您不需要订阅调整大小事件,因为调整大小已经由chart.js根据 Canvas 容器的大小进行处理。当您使用这台 Mac 浏览工作的 Chart.js 网站时,是否遇到此问题?
来自chartjs.org :
Chart.js will resize your chart if the browser changes size, along with providing the perfect scale granularity for that size
顺便说一句,请查看您的控制台,$('##chart')
不是有效的 jQuery 选择器,应该会产生错误。我不知道您发布的代码如何工作。
关于javascript - Chart.js:在调整窗口大小时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202704/