奇妙な問題が発生したときに、オーバーレイ div をフェードインするために CSS3 トランジションをいじっていました。
基本的に、id にスタイルが設定された div 要素があります。つまり、背景色: #000、不透明度: 0 などです。ブラウザ固有のトランジション スタイルも同様です。デフォルトでは、オーバーレイ要素には「hiddenElement」クラスがあり、表示が none に設定されています。
オーバーレイが表示される場合、hiddenElement クラスが削除され、別のクラスが「初期化」されて追加されます。このクラスは要素の不透明度を 0.6 に設定します。
私が期待していたのは、要素がスムーズにアニメーション化されることでした。これは Opera で発生しますが、firefox と chrome ではまったく同じようには機能しません。
ここで孤立したケースを作成しました: http://jsbin.com/obojet/27/。
「addClass('Initialized')」が setTimeout() でラップされている場合にわかるように、クロムで 0 ミリ秒のタイムアウトを使用しても、正しくアニメーション化されます。タイムアウト外で addClass を実行するだけでは、アニメーションは実行されません。Firefox では、タイムアウトを長くする必要があります (50 ミリ秒)。オペラではそれがうまくいきます。
おそらく単一スレッドをめぐって UI/Javascript が競合していることが原因ですが、他の誰かが同様の問題を経験したことがあるかどうかに興味がありました.