2011-11-18 12 views
8

親divにCSSドロップシャドウが適用され、その子がjQueryでアニメーション化され、親divが高さを変更すると、 IE9でページを表示すると、親divが表示されます。 http://jsfiddle.net/vPqxb/11/とスクリーンショット::ここでは一例であるだけで、コードを見てみたい1については親div Internet Explorer 9で子をアニメーション化するときのバグ

enter image description here

<div class="parent"> 
    <div class="longer">&nbsp;</div> 
</div> 

、CSS:

div.parent { 
    background: #ddd; 
    box-shadow: 1px 1px 2px 1px #c9c7c9; 
    width: 80%; 
} 

div div { 
    background: red; 
    height: 10px; 
    width: 30px; 
} 

.longer { 
    height: 200px; 
} 

とJavaScript(最初のものはjQueryのUIを必要とすることに注意してください):ここではHTMLで

$("a.toggleclass").on("click", function() { //some trigger, doesn't matter where 
    div.stop(true,true).toggleClass("longer", 1000); 
}); 

$("a.animate").on("click", function() { //another one without jQuery UI 
    div.stop(true,true).animate({"height":"20px"}, function() { 
     div.attr({"style":""}); 
    }); 
}); 

私の質問は次のようになります。

  1. これはjQueryまたはInternet Explorerのバグですか?
  2. 回避方法がありますか? (Internet Explorer 9ではトランジションはサポートされていないため、私は無名です)

ありがとうございました。

+0

私はここに同様の質問をしてきましたhttp://stackoverflow.com/questions/8675773/shadow-artifacts-during-animation-in-ie9あなたが回避策を見つけた場合には興味があります。 – zerkms

答えて

-1

コードは少し複雑です。私はあなたの望む振る舞いが何であるかを正確には伝えられませんでしたが、これはよりスムーズに見え、IE9がそれをより良く扱うように感じますが、私はテストできませんでした。

$("a.toggleclass").click(function() { 
    $('.parent').animate({height: 1000}, '1000'); 
}); 

JS Fiddleが更新されました。私はそれが.stop(true,true)と関係があるように感じる。

+1

私のコードはIE9のバグを指す以外のことはしません。子の高さを減らすと、いくつかの行が表示されます。私の "js fiddle"の例では明らかです。より多くの情報が必要な場合は、コメントを追加できます。私は努力に感謝しますが、この答えはあなたが高さを減らさないので質問とは何の関係もありません。適切な答えを得る機会が減っているので、答えを出すだけの質問には答えないでください。ありがとうございました。 –

関連する問題