【发布时间】:2010-02-20 13:58:56
【问题描述】:
我正在构建一个页面,我想在其中使用 Galleria 脚本 (http://devkick.com/lab/galleria/) 和 jQuery 的手风琴小部件来隐藏不同类别的画廊缩略图。在我的初始化中,我按照两个脚本手册的建议写了:
<script type="text/javascript">
jQuery(function($) {
$('ul.gallery').galleria({
insert: "#image"
});
$("#thumbs").accordion();
});
</script>
galleria() 函数创建缩略图并为其分配适当的大小。然后,accordion() 函数分配其样式并折叠当前不可见的元素。使用上面的代码,我遇到了一些缩略图由于尺寸为零而变得不可见的问题。
如果我在 galleria() 函数中为缩略图分配大小之前发出警报,我可以看到对于手风琴的不可见页面内的图像,它们的容器在那时的尺寸为零。这对我来说很奇怪,因为我认为这些函数是连续执行的,并且在galleria() 完成之前不会调用accordion()。
更奇怪的是,如果我在手风琴函数之前添加了一个警报,那么一切都会按正确的顺序处理。
很明显,我在这里面临竞争条件。为什么会发生这种情况,我应该怎么做才能保证有序的初始化顺序?
【问题讨论】:
标签: jquery jquery-ui jquery-ui-accordion galleria