javascript - Chart.js:在调整窗口大小时遇到​​问题

标签 javascript jquery charts chart.js

使用此代码,当我拖动窗口时,我的图表会调整大小,但当我按 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/

相关文章:

javascript - stopPropagation() 不起作用

javascript - 如何解析 Javascript 中的 Javascript 代码以获取不在当前范围内的变量名?

javascript - 适用于 console.log() 但不适用于 chrome 浏览器的换行符

d3.js - c3中设置y轴间距

Grails 的 GSP 页面中的 JavaScript

javascript - 有问题的 HTML 代码编辑器

javascript - 使用 Rails 将动态哈希放入 JQuery 中

javascript - 调整 jQuery 字数计数器以将 URL 计为 3 个字

javascript - Chart.js 中未显示折线图

excel - VBA 图表问题