2012-04-02 9 views
0

私は私が完璧に動作するいくつかの行を見つけアニメーションの高さは、IE

新しい内容に応じて/アニメーションを変更する必要がありますjqueryの にdiv要素の高さを使用して、動的にdiv要素の内容を変更していますで動作しませんChrome、Firefox、およびiPhoneで使用できます。 しかし、IEではコンテンツがアニメーション化されますが、 "ボックスの外に出ます"。運なし.. DIV does'nt変更

var $mydiv = $('#venues'); 
$mydiv.css('height', $mydiv.height()); 
$mydiv.html(TheDynamicContent); 
if (!$mydiv.find("div.innerWrapper").length) { $mydiv.wrapInner('<div class="innerWrapper"/>'); } 
$mydiv.animate({height: $('div:first',$mydiv).height()}); 

私は代替/修正を見つけようとして多くのことを検索しましたの高さを意味.. 何をしますか? ;)

更新:曲线業者は、IEだけが敏感だった余分なdivを生成していたようです。だから、このコードは実際にはOKです。

+0

IEのどのバージョンで動作しませんか? – j08691

+0

IE 9(短いコメントを入力できるようにするためのテキスト) – mowgli

答えて

0

私のためにうまく動作するように見える(IE10、9、8でテスト、および7)

$("#venues") 
    .css("height", function(){ return $(this).height(); }) 
    .html("This is much longer text to force the element to grow.") 
    .wrapInner("<div/>") 
    .animate({ 
    "height": $("div:first", "#venues").height() 
    }, 1000); 

は、オンラインデモ:http://jsbin.com/inudaz/2/edit

警告:あなたは、発生する可能性があります$を示唆するjsbinのエラーは未定義です。この場合は、例をダウンロードして(jsbinから[保存]> [ダウンロード]を使用して)、ローカルで実行してください。

ソリューション: OPのプロジェクトでは、主要な領域でDOMを修正した予期しない動作をするjQueryプラグインを使用していました。このプラグインを無効にすると問題が解決しました。

+0

私のための変更はありません。テキストはdivの外に出て、div自体はまだ高さが変わりません – mowgli

+0

@mowgli私は問題があります。 jsbinのデモを試しましたか、このコードを自分のプロジェクトにコピー/ペーストしましたか?これを自分のプロジェクトに貼り付けると、別の場所で問題が発生する可能性があります。 – Sampson

+0

私は両方を試しました;)あなたのデモでは、コンテンツは(IEでは)まったく変化したりアニメーション化されません。そして、私自身のコードでは、結果はexcactly私の前のコードと同様です – mowgli

0

遅延を指定してみますか?次

$mydiv.animate({height: $('div:first',$mydiv).height()}, 500); 
+0

これは機能しませんでした。私は私の質問を編集しました。だから、それは "でもIEの中ではコンテンツは動くが、それはボックスの外に出る"。意味は.. divの値が変わらない " – mowgli

関連する問題