jqueryを解決するanimate()関数のIE 6での問題

1935 ワード

プロジェクトの中で左のメニューの折りたたみ表示の効果を実現して、これはソフトウェアのインタフェースの中でよく見られる(もともとネット上のcopyまで1段のコードでも済むので、私よりもよく書いてあると思いますが、勉強は、勉強の精神が必要です^^!)
私は使います.animate()は隠し展開を実現し、コードは以下の通りです.









<br>$(function(){ <br>var i = 1;// <br>$('#butid').click(function(){ <br>if(i == 1){ <br>$('.content').animate({left: '-=100px',width: '600px'}, "slow"); <br>$('.left').animate({width: '0px'}, "slow"); <br>i = 2; <br>}else{ <br>$('.content').animate({left: '0px',width: '500px'}, "slow"); <br>$('.left').animate({width: '100px'}, "slow");//fadeOut() <br>i = 1; <br>} <br>}); <br>}); <br>
123


123




このようにすれば、FF、IE 7-8、chromeで実行するのは正常です.しかしIE 6の下でleftを隠すことができないのは、ie 6のデフォルトのコンテンツの幅が超えた場合、DIVが自動的に開くからです.だからあげるだけだ.left{}overflow:hiddenを追加して、問題も解決します~~
PS:もともと朝は関数を书いていました.leftの中の内容が隠されていて、ブログを書いている間に突然この原理を理解して、そうだと思っていました.animate()はIE 6の下にBUGがあります