Интересная причуда с Google AnnotatedTimeline

Поэтому я создаю веб-приложение, которое использует различные виджеты jQuery UI. В частности я использую виджет аккордеона. У меня есть код jQuery, который устанавливает аккордеон так:

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

То, что там происходит, это, очевидно, график. Для графика я использую визуализацию Google AnnotatedTimeline. Теперь, если я установил опцию баяна active в false ИЛИ, если аккордеон свернут, всякий раз, когда я пытаюсь нарисовать график, он говорит мне, что искомого элемента там нет. Это потому, что внутренне div что содержит график становится "скрытым", когда аккордеон свернут? Если так, как я могу это исправить?

Это важно по той причине, что пользователь мог свернуть этот аккордеон при работе с другими элементами. График предназначен для обновления в реальном времени. Но если он не может даже найти элемент, необходимый для рисования графика, он не будет обновлен.

2 ответа

Решение

Я понял, что аккордеон действительно устанавливает ширину и высоту любых содержащихся в нем элементов div равным 0. Таким образом, когда я пытался получить к нему доступ через AnnotatedTimeline, он не мог найти действительную ширину или высоту, а также бросок и ошибку. Поэтому я решил просто добавить функцию обратного вызова изменения, чтобы перерисовать график при его выборе, и сбросить интервал обновления. Когда он отменяется, я просто очищаю интервал обновления.

Было бы полезно, если бы вы могли проиллюстрировать / воспроизвести эту проблему с помощью jsfiddle.

Из вашего вопроса видно, что вы определяете элемент с идентификатором 'graph' и сделать его аккордеоном $('#graph').accordion({..}), В какой элемент вы пытаетесь вставить диаграмму? Предполагая, что div, который вы планируете иметь в диаграмме, существует до того, как вы попытаетесь отобразить диаграмму, вы, по крайней мере, не должны получать ошибок в этом отношении.

Второе связанное примечание, которое я бы добавил, заключается в том, что для аннотированной диаграммы временных рядов ( документов) необходимо явно указать ширину и высоту диаграммы.

Другие вопросы по тегам