何が起こっていますか
特定の要素がjQueryUIでアニメーション化されている場合、効果によっては、要素自体が複製される場合があります。操作している要素($ e)は実際には非表示であり、アニメーションの時点ではDOMの一部ではないため、ここではCSSルールは役に立ちません。一部のルールはjQueryを使用して複製された要素に適用されますが、z-indexはそれらの1つではありません。
CSSアニメーションで修正する
要素を直接操作し、要素のクローンを作成する必要がないCSSアニメーションを使用することをお勧めします。これにより、効果がexplode
少し複雑になりますが、CSSルールを維持するだけでなく、CSSアニメーションによってjQueryUIアニメーションよりもパフォーマンスが大幅に向上します。(jQuery UIは、アニメーションの各「ステップ」を個別に適用します。つまり、多くの再描画を意味します)。ただし、これに関する制限は、IEがまだこれに匹敵しないように見えるため、ブラウザー間の互換性です。
z-indexで修正する
アニメーションにjQueryUIを使用することに夢中になっている場合、またはブラウザー間の互換性がないリスクを冒すことができない場合でも、希望はあります。私のテストでは、'cloned'要素は一時的に。のクラスを追加しui-effects-explode
ます。元の要素のクローンを作成する必要があるほとんどのjQueryUIアニメーションは、同様の構文(ui-effects-*
)のクラスを適用しているようです。
個々の効果に対するフラストレーションを軽減するためのキャッチオールは、次のようなCSSルールを作成することです。
[class^=ui-effects] {
z-index: 10;
}
ここで、^=
は「で始まる」を意味します。これにより、jQuery UI名前空間内の複製された要素にz-indexが適用され、問題が解決するはずです。