2012-12-18 73 views
3

我一直试图在我的网站中使用dygraph(http://dygraphs.com/)进行可视化,并且它可以很好地处理所有功能。我试图建立的网站是一个动态的网站,起初我试图将其打印在可见的div元素上,这很好..然后我尝试引入一个div元素,它可以在点击时展开和折叠。所以,如果我试图打印图形与div崩溃了,它不会工作,只有当它展开,图形被印刷..我加入的jsfiddle链接显示我的问题..dygraph不打印隐藏div元素中的数据

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 
}); 
} 

回答

3

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

这里是小提琴..

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

检查控制台..在那里我有显示的风格。如果我改变div chartdivdisplay:block ..图是WHN股利甚至呈现在闭合状态..

修订

或使用.show() ..

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

+0

BT打印按钮,打开div..Im试着做它的其他方式。当我们点击drawgraph应该打印图形,BT单击打开按钮,只有当,它应该显示他的图..这种方式nt工作.. – user1371896

+0

我想显示图形只有当用户想要查看它..所以我使用.show()jquery功能 – user1371896

+0

好吧我是绝对给你的原因为什么发生......因为你的问题是'这可能是什么原因这个问题???'......你可以显示图表,当用户单击按钮..而不是使用两个按钮....我认为 – bipen