dygraph不会在隐藏的div元素中打印数据

时间:2012-12-18 11:03:36

标签: javascript jquery dygraphs

我一直试图在我的网站上使用dygraph(http://dygraphs.com/)进行可视化,并且它可以正常使用所有功能。我正在尝试构建的网站是一个动态的网站,起初我尝试将其打印到可见的div元素上,它很好..然后我尝试引入一个div元素,它可以是单击时展开和折叠。因此,如果我尝试打印div折叠后的图形,它将无法正常工作,只有当它被展开时,图形才会打印出来..我正在添加一个jsfiddle链接来显示我的问题..

http://jsfiddle.net/dTUQC/2/

这个问题可能是什么原因???

  $("#chartdiv").css({"height":"160px"});
g = new Dygraph(document.getElementById("chartdiv"), input, {
    width : 500,
    includeZero : true,
    animatedZooms : true,
    drawXGrid : false,
    plotter : barChartPlotter
});
}

1 个答案:

答案 0 :(得分:3)

背后的原因是,由于您正在使用slideToggle()功能,因此会根据需要保存和恢复显示属性。关闭时div chartdiv的样式为display : none ...条形图无法在该dom元素中渲染。并且当它打开时,样式更改为display:block,所以这次图表找到了div chartdiv

这是小提琴..

http://jsfiddle.net/dTUQC/3/

检查控制台..我在哪里显示了样式...如果我将div chartdiv更改为display:block ..即使div处于关闭状态,也会呈现图形。

<强>已更新

或使用.show() ..

http://jsfiddle.net/dTUQC/9/ 只需一个按钮