2015-05-05 122 views
4

我遇到的問題是我有5個不同的圖表同時加載隨機生成的數據導致應用程序運行緩慢。應用程序的要點是讓用戶選擇他想查看哪個圖表一次,而所有其他圖表應爲空閒(情況並非如此)...同步數據減慢應用程序

我開始相信因爲我在index.html中包含了圖表(diagram1.js,diagram2.js等),這可能是應用程序變慢的原因,因爲一切都會一次加載。我只使用JQuery來顯示或隱藏取決於點擊的圖表。

我怎樣才能讓用戶只看到一個圖表,並保持其餘空閒(沒有傳入的數據),直到他們被選中?

這包含在index.html中,<body>裏面,<div id = "diagram4"></div>負責顯示圖表。

<script src="diagram1.js"></script> 
<script src="diagram2.js"></script> 
<script src="diagram3.js"></script> 
<script src="diagram4.js"></script> 
<script src="diagram5.js"></script> 

這是一個包含圖的內容,請記住,我沒有將整個代碼,以節省空間,本文件中diagram4.js。

$(window).on("load", function() { 
     var chart = new CanvasJS.Chart("diagram4", 
     { 
      // Code.. 
     }); 
}); 

這是處理點擊的JQuery事件。當用戶點擊圖表4時,彈出圖表4。

$('[data-row]').on('click', function() { 
     var row = $(this).attr('data-row'); 
     $('.active').removeClass('active'); 
     $('#table' + row).addClass('active'); 
    }); 
+1

使用ajax加載。您可以調用$ .getScript()函數來獲取點擊按鈕時的腳本。 – user1

回答

0

而不是創建所有圖表當頁面被加載($(window).on("load", ...)),可以提供4個格或附有onclick處理點擊時這將使圖等。您可以在div中放置一些信息文本或圖表的符號圖片。

+0

你能舉個例子嗎? –

相關問題