2011-11-29 89 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]]]); 
}