2014-03-03 22 views
0

我的網站是建立爲一個頁面,用javascript顯示和隱藏部分(頁面)。 我試圖在我的頁面上加載3個谷歌圖表,但只有當我進入頁面(統計)並刷新它時,圖表纔會加載?如何修復只加載刷新的Google Chart?

在我的HTML文件我稱之爲谷歌JS API:

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

在我的js文件我我的$之前調用谷歌的圖表(文件)。就緒:

google.load('visualization', '1', {'packages': ['corechart']}); 
$(document).ready(function() { 
    function drawChart() { 
     var data = new google.visualization.DataTable(); 
     // Adding data and options to chart1 
     var data_2 = google.visualization.arrayToDataTable([]); 
     // Adding data and options to chart2 
     var data_3 = google.visualization.arrayToDataTable([]); 
     // Adding data and options to chart3 

     var chart = new google.visualization.PieChart(document.getElementById('class_chart_div')); 
     chart.draw(data, options); 
     var chart = new google.visualization.ColumnChart(document.getElementById('column_chart_div')); 
     chart.draw(data_2, options_2); 
     var chart = new google.visualization.PieChart(document.getElementById('gender_chart_div')); 
     chart.draw(data_3, options_3); 
    } 

    if ($("#pageStatistics']").hasClass('active')) { 
     drawChart(); 
    } 

});// document.ready end 

的所有作品, ,但正如我寫的,當我去的統計頁面,我必須刷新網站之前的圖表加載..?

回答

0

爲什麼不是在文檔上做這些事情,而是改變代碼來刷新圖表。 每次打開統計頁面。

$("#pageStatistics").click(function(){ 
    drawChart(); 
}) 

另外,如果你點擊頁面的那個區域,然後檢查它是否具有「主動」類

+0

嗯,不過這似乎沒有修復與更新的問題? 你對'你的頁面區域'有什麼意義? –

+0

我知道的pageStatistics是你網頁上的某種div嗎?如果是,如果你打開你的頁面,div沒有被選中,它將不會更新圖表。如果你想再刷新一次,你需要刷新整個頁面。這是因爲if($(「#pageStatistics']」)。hasClass('active'))它只被檢查一次。那是我理解的 –