Я создаю страницу, на которой я хочу использовать скрипт Galleria (http://devkick.com/lab/galleria/) и jQuery виджет Accordion, чтобы скрыть различные категории миниатюр галереи. В моей инициализации я написал как Предложено в руководствах обоих сценариев:
<script type="text/javascript">
jQuery(function($) {
$('ul.gallery').galleria({
insert: "#image"
});
$("#thumbs").accordion();
});
</script>
Функция galleria()
создает эскизы и присваивает им соответствующие размеры. Затем функция accordion()
назначает свои стили и сворачивает невидимые в данный момент элементы. С кодом выше у меня есть проблема с некоторыми миниатюрными изображениями, становящимися невидимыми из-за нулевых размеров.
Если я поставлю оповещения до того, как пиктограммам назначат их размеры в функции galleria()
, я могу видеть, что для изображений, которые находятся внутри невидимых страниц аккордеона, их контейнер в этой точке имеет нулевые размеры. Это очень странно для меня, потому что я думал, что эти функции выполняются последовательно и accordion()
не вызывается до завершения galleria()
.
Что еще более странно, если я поставлю предупреждение перед функцией аккордеона, тогда все будет обработано в правильном порядке.
Очевидно, что здесь я нахожусь в состоянии гонки. Почему это происходит и что я должен сделать, чтобы гарантировать упорядоченную последовательность инициализации?