0

所以我正在构建一个使用各种 jQuery UI 小部件的 Web 应用程序。特别是我正在使用手风琴小部件。我有像这样设置手风琴的 jQuery 代码:

$('#graph').accordion({autoHeight:false, collapsible:true});

显然,里面有一个图表。对于图表,我使用的是 Google AnnotatedTimeline 可视化。现在,如果我将手风琴选项设置active为 false 或者如果手风琴折叠,每当我尝试绘制图表时,它都会告诉我它正在寻找的元素不存在。这是因为div当手风琴折叠时,包含图表的内部变得“隐藏”?如果是这样,我该如何解决?

这很重要的原因是用户可能在使用其他元素时折叠了手风琴。该图表旨在实时更新。但如果它甚至找不到绘制图形所需的元素,它就不会被更新。

4

2 回答 2

0

如果您可以使用jsfiddle说明/重现此问题,那将很有用。

从您的问题来看,您似乎正在定义一个带有 id 的元素'graph'并将其设置为 jquery ui 手风琴$('#graph').accordion({..})。您试图将图表插入到哪个元素?假设在您尝试呈现图表之前,您计划包含图表的 div 存在,那么您至少应该不会在这方面出现错误。

我要添加的第二个相关说明是,对于带注释的时间序列图表 ( docs ),您必须明确设置图表的宽度和高度。

于 2012-08-06T08:49:23.187 回答
0

我确实发现手风琴确实将任何包含的 div 的宽度和高度设置为 0。因此,当我尝试通过 AnnotatedTimeline 访问它时,它找不到有效的宽度或高度并抛出错误。所以我的解决方案是简单地添加一个更改回调函数以在选择图形时重绘图形并重置我的更新间隔。当它被取消选择时,我只需清除我的更新间隔。

于 2012-08-09T19:13:11.960 回答