2012-05-08 9 views
2

liが '0'になるという奇妙な問題。 IEの場合:は「0」になります。 IEでdivを含むとjQueryを使って非表示にして再表示

(IEを除く)ブラウザで次のjsfiddleを表示し、IEで表示してください。複製する

http://jsfiddle.net/A8Z4k/1/

ステップ:
1. [非表示。
2.表示をクリックします。

結果:リスト項目は次のようになります。

0.Test 1 
0.Test 2 
0.Test 3 
0.Test 4 

だから2つのdivのは、ここでプレーしてあります。 1つは負荷の上に隠されています。 "非表示"リンクをクリックすると、リストを含むdivが非表示になり、 "RAH RAH"を含むdivが表示されます。そして、 "ショー"リンクがクリックされると、逆のことが起こります。元のdivは0を含んで再表示され、 "RAH RAH" divは隠されます。

注:これは、再生中に2つのdivが存在する場合にのみ発生し、1つは非表示になり、もう一方は表示されます。私は2番目のdivを削除すると、私は一日中隠して表示することができ、リスト項目は0で表示されません。

この問題を回避するにはどうすればよいですか?

+0

どのバージョンのIEでこの問題が発生しますか? –

+3

最も簡単な回避策は、友人やクライアントにIEの使用を強制的に停止させることです。 – JakeParis

+0

興味深い - この動作はIE 7では発生しません(開発者ツールを使用してIE 7標準に切り替える)。それはIE 8とIE 9で起こります。 –

答えて

0

これは機能しますか?

$('#show').click(function() { 
    $('#hide-div').css('list-style-type','lower-roman'); 
    $('#hide-div').show(); 
    $('#show-another-div-on-top').hide();   

});

申し訳ありませんが、私は...あなたのためにそれをテストすることはできません解決策がどこから来た私にとって

+0

IE 9はこのコードで同じ動作を示します。それが壊れることはないsetTimeout'は4msのうちの最小時間を持っている 'が、JSエンジンは以下となります。 –

+0

何とか........... – JakeParis

+0

私は、このコードは:( –

1

:この1つは私のために働いたOrdered list showing all zeros in IE9

は:

  1. 要素を表示します:その後

    el.show(); 
    
  2. setTimeout(function(){ 
        $("ol").css("counter-reset", "item") 
    }, 1); 
    
+0

トリビアを動作させることができませんでしたそれが4より小さい場合は暗黙的に4に設定します。 –

関連する問題