0

我在将 Google Gauge 图表可视化集成到我的网站时遇到了一些问题。他们给出的示例代码是:

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
  google.load('visualization', '1', {packages:['gauge']});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Label', 'Value'],
      ['Memory', 80],
      ['CPU', 55],
      ['Network', 68]
    ]);

    var options = {
      width: 400, height: 120,
      redFrom: 90, redTo: 100,
      yellowFrom:75, yellowTo: 90,
      minorTicks: 5
    };

    var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
    chart.draw(data, options);

就其本身而言,当 ID 为 chart_div 的 div 位于正文中时,此代码可以正常工作。但是,我网站上的每个页面都由 ajax 使用 loadandsetactive 调用,并加载到“静态”标题下的内容 div 中。当相同的代码输入任何这些页面的头部时,它无法加载。没有错误、没有空白图表或脚本甚至尝试加载的任何其他迹象。页面如何加载到内容 div 的示例如下:

        <li class="menuItem" id="mypage">
    <a href="#" onclick="loadAndSetActive('mypage.html', '#content', '#mypage');" >
    <img src="myimage.png" width="100%" height="auto"/>My Page</a></li>

然后将页面加载到标题下的上述内容 div 中。该网站几乎完全完成,但我似乎无法让这个仪表工作。任何帮助将不胜感激。

编辑:澄清一下,一旦用户登录,ajax 调用会自动加载我试图在 div 中绘制图表的仪表板。mypage 是一个完整的 html 文件,带有它自己的标签等。不幸的是,我的 PHP 和 HTML/CSS 比我的 ajax 和 jquery 好得多。

4

1 回答 1

1

而不是使用 setOnLoadCallback 尝试在 google.load 本身内部调用它,下面是代码片段:

google.load('visualization', '1', {
  packages:['gauge'],
  callback: drawChart
});
于 2013-02-21T07:54:56.200 回答