2011-11-29 61 views
3

我正在嘗試將jqPlot用於條形圖,但無法顯示任何內容。爲什麼我的jqPlot沒有渲染畫布?

我已經包含了jqPlot代碼和所有插件。我沒有收到任何錯誤,任何

我都直接複製示例代碼:

HTML:

<div id="jqplot" class="plot"> 

</div> 

的Javascript:

"use strict"; 
(function ($){ 

     $.jqplot('jqplot', [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]]); 

})(jQuery); 

它添加類的jqplot目標'到'jqplot'div,所以javascript必須工作,但它不是添加一個畫布/圖表到div,它只顯示一個空的div與它添加的類。

任何想法,爲什麼這不是呈現?

我也在使用html5boilerplate,但是我找不到任何已知的問題。

感謝,

托馬斯

回答

5

我發現了這個問題。我有jqplot裏面的主容器div設置爲顯示:頁面加載時沒有,並且一旦你點擊'enter'按鈕,就會顯示.fadeIn()

我想它不能添加畫布父級顯示:無; - 我知道了通過調用在後的用戶點擊進入主容器變淡函數內部的$ .jqplot工作...

2

你能告訴你的CSS這樣做是對類 「陰謀」? jqPlot Usage page表示您需要確保將寬度和高度添加到繪圖目標。

+0

我直接將寬度/高度添加到# jqplot以及我已經改變它到這個

,它仍然沒有渲染。當我在沒有樣板的空白頁面上做這件事時,它表現得很好...... – tsdexter

+0

感謝您的意見。我發現了這個問題。查看更新的問題。 – tsdexter

0

使用生成的圖表上重繪功能,當你點擊你的按鈕。

// create your chart 
var plot1 = $.jqplot(...); 

// hook the button press 
$("button#enter").on("click", function(){ 
    // fade your tab in, wait for it to complete, 
    $(".tab").fadeIn(1000, function(){ 
     // then replot, if not already drawn 
     if(!plot1._drawCount){ 
      plot1.replot(); 
     } 
    }); 
}); 

http://www.jqplot.com/deploy/dist/examples/hiddenPlotsInTabs.html

0

我就遇到了這個問題前面,出於某種原因,下面jqplot代碼是行不通的:

$(document).ready(function() { 
    $.jqplot('chart1', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]); 
} 

然而,當我切換了$(文件)。就緒(function {...} to jQuery(function($){..} jqplot代碼正常工作

jQuery(function ($) { 
    $.jqplot('chart1', [[[1, 2], [3, 5.12], [5, 13.1], [7, 33.6], [9, 85.9], [11, 219.9]]]); 
}