Galleria スクリプト ( http://devkick.com/lab/galleria/ ) とjQueryのアコーディオン ウィジェットを使用して、ギャラリーのサムネイルのさまざまなカテゴリを非表示にするページを作成しています。私の初期化では、両方のスクリプトのマニュアルで提案されているように書きました:
<script type="text/javascript">
jQuery(function($) {
$('ul.gallery').galleria({
insert: "#image"
});
$("#thumbs").accordion();
});
</script>
このgalleria()関数はサムネイルを作成し、それらに適切なサイズを割り当てます。次に、accordion()関数はそのスタイルを割り当て、現在非表示の要素を折りたたみます。上記のコードでは、寸法がゼロであるために一部のサムネイル画像が見えなくなるという問題があります。
機能でサムネイルにサイズが割り当てられる前にアラートを配置すると、galleria()アコーディオンの非表示ページ内にある画像の場合、その時点でコンテナーの寸法がゼロであることがわかります。accordion()これらの関数は連続して実行され、終了する前に呼び出されないと思っていたので、これは私にとって非常に奇妙ですgalleria()。
さらに奇妙なことに、アコーディオン関数の前にアラートを配置すると、すべてが正しい順序で処理されます。
ここで競合状態に直面していることは明らかです。なぜそれが起こるのですか? また、初期化シーケンスを正常に行うにはどうすればよいですか?