所以我正在构建一个使用各种jQuery UI小部件的Web应用程序。特别是我正在使用手风琴小部件。我有jQuery代码设置手风琴就像这样:
$('#graph').accordion({autoHeight:false, collapsible:true});
显然,图中有一个图表。对于图表,我正在使用Google AnnotatedTimeline可视化。现在,如果我将一个手风琴选项active
设置为false或者如果手风琴折叠了,每当我尝试绘制图形时,它会告诉我它所寻找的元素不存在。这是因为当手风琴折叠时,内部包含图形的div
会变成“隐藏”吗?如果是这样,我该如何解决?
这一点很重要的原因是用户可能在使用其他元素时折叠了手风琴。该图旨在实时更新。但如果它甚至找不到绘制图形所需的元素,它就不会被更新。
答案 0 :(得分:0)
如果您可以使用jsfiddle来说明/重现此问题,那将非常有用。
通过查看您的问题,您似乎正在定义一个ID为'graph'
的元素并将其设为jquery ui手风琴$('#graph').accordion({..})
。您试图将图表插入到哪个元素?假设您在计划渲染图表之前计划将图表存在,那么至少在这方面不应该出错。
我要添加的第二个相关注释是,对于带注释的时间序列图表(docs),您必须明确设置图表的宽度和高度。
答案 1 :(得分:0)
我确实发现手风琴确实将任何包含的div的宽度和高度设置为0.因此,当我尝试通过AnnotatedTimeline访问它时,它找不到有效的宽度或高度并抛出错误。所以我的解决方案是简单地添加一个更改回调函数,以便在选中时重绘图形并重置我的更新间隔。取消选择后,我只需清除更新间隔。