4

jQuery と Firefox のちらつきの問題が再び発生しました。(IE6/7/8、Safariではちらつきなし)

サンプルページをここにアップロードしました: http://sithlord.bplaced.net/testing/jquery_flickering/flickering.html

2 つの div コンテナーがあります。内側の div は、私が隠しているものです。外側のものは、スタイル要素を含むラッピング コンテナーです。ちらつきは選択ボックスでのみ発生することがわかりました。SelectBox がなければちらつきはありません。

しかし、それだけではありません: (2 番目のハイパーリンクを投稿することはできません: 上記と同じリンクです。「flickering.html」を not_flickering.html に変更するだけです)

この場合、私はより低い「オプション」を選択しました - ご覧のとおり、この場合、ちらつきは消えます。合計で選択肢が少ない場合、同じことが起こっています。(約20未満)

私が見つけた唯一の回避策は、選択ボックスを削除することです:)

なぜこれが起こっているのか、それを修正する方法はありますか?

ありがとう!

4

4 に答える 4

5

オーバーフロー:非表示; 含まれているdiv作品に直接適用されます。

于 2010-11-23T15:44:03.790 に答える
0

この投稿を見つけました。非表示の div に幅または高さを設定してみてください。div にスタイルがないことに気付いたので、これでうまくいく可能性があります。

大都市

于 2010-05-24T15:21:39.673 に答える
0

私はこれに少し遅れていますが、同様の問題に遭遇しました。私の解決策: アニメーションの前に display:none を select に設定し、その後に display:block を設定します。例:

 $("div#hidden").hide();
  $("a").click(function(e) {
    e.preventDefault();
    $("div#hidden select").css('display','none');
    $("div#hidden").slideDown(1000);
    $("div#hidden select").css('display','block');
    });
});

必要に応じて、jquery の show/hide 関数を使用することもできます。

于 2010-12-01T20:58:14.980 に答える
0

http://dev.jquery.com/ticket/5743なぜそのようなことが一般的に jQuery で可能なのかを見てください。要するに、パラメーターのない css 関数は、何も更新せずに値を返すだけであると主張していますが、場合によっては実際には DOM を更新します。

于 2010-10-12T07:35:49.723 に答える