JQuery Cycle中的多个Google Charts

时间:2013-07-29 17:57:55

标签: javascript api charts slider

我正在尝试创建一个包含两个谷歌图表的循环/滑块。我可以使用下面的代码在页面上单独显示它们,但是当空间变得优质时,我决定转到滑块/循环。使用以下代码。第一个图表绘制但第二个图表滚动到视图中。没有图表。它只说:无法在Chrome上获取未定义或空引用的属性“长度”:无法读取null的属性“length”。我意识到,当一个图表可见时,另一个图表不可见。但是我对javascript的不熟悉使得很难找到一个能够显示的答案:'阻止'显示:'在适当的时间和之后没有。任何帮助将不胜感激。

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

        function drawCharts() {
            var data1 = google.visualization.arrayToDataTable(<% =jsostring%>);
            var options1 = {
                title: 'PSNL Weight Chart',
                backgroundColor: {fill:'none'}
            };

            var data2 = google.visualization.arrayToDataTable(<% =jsostring2%>);
            var options2 = {
                title: 'PSNL Sleep Chart',
                backgroundColor: {fill:'none'}
            };

            var chartA = new google.visualization.LineChart(document.getElementById('chart_div'));
            chartA.draw(data1, options1);

            var chartB = new google.visualization.ColumnChart(document.getElementById('chart_div2'));
            chartB.draw(data2, options2);

        }
        google.setOnLoadCallback(drawCharts);
        google.load("visualization", "1", { packages: ["corechart"] });

       </script>

1 个答案:

答案 0 :(得分:0)

我猜答案非常基本。我不是一个java人。我搜索并思考它。我在另一个网站上找到的答案是:

   <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">

        function drawCharts() {
            var data1 = google.visualization.arrayToDataTable(<% = jsostring%>);
            var options1 = {
                title: 'PSNL Weight Chart',
                backgroundColor: {fill:'none'}
            };

            var data2 = google.visualization.arrayToDataTable(<% = jsostring2%>);
            var options2 = {
                title: 'PSNL Sleep Chart',
                backgroundColor: {fill:'none'}
            };

            var chartA = new google.visualization.LineChart(document.getElementById('chart_div'));
            document.getElementById('chart_div').style.display = 'block';
            document.getElementById('chart_div2').style.display = 'none';
            chartA.draw(data1, options1);

            var chartB = new google.visualization.ColumnChart(document.getElementById('chart_div2'));
            document.getElementById('chart_div2').style.display = 'block';
            document.getElementById('chart_div').style.display = 'none';
            chartB.draw(data2, options2);
        }
        google.setOnLoadCallback(drawCharts);
        google.load("visualization", "1", { packages: ["corechart"] });

</script>

随着jquery滚动浏览。它将打开第一个Div_Chart并在滚动到视图之前关闭另一个。