2012-04-06 11 views
1

私はdivにコンテンツを動的に読み込むスクリプトを作成し、divの高さをコンテンツの大きさに合わせると高さを実際の高さに合わせます。jqueryのアニメーションの高さバウンス

問題は、上下にスライドするだけではなく、常に少し上にスライドし、次に希望の高さにスライドすることです。

「バウンス」せずに希望の高さでスライドさせたいと思っています。

スクリプトの一部です: main_content.html(html);

main_content.css("height", "auto"); 
var newContentHeight = main_content.height(); 
loader_div.hide(); 
main_content.height(prevContentHeight); 
main_content.fadeIn("fast", function() { 
    main_content.animate({ 
     "height": newContentHeight 
     }, 300); 
    }); 

スクリプトは動作しますが、唯一の問題は、アニメーションが所望の高さまで上または下のdivをスライドさせていないということです、それは常に所望の高さにまで少しアップし、それをスライド。

アニメーションの高さを使用しているときに何らかのアニメーションが必要なのですか、それとも何か問題がありますか?

編集 ありがとう:コンソールロギングnewContentHeight(div要素の最終高さ)、それは2点の高さを集めるように見えますが、その後、アニメーションは最初それが弾むように見える理由です他のものにし、それらのいずれかに行くと。それに取り組む。

edit2:はい問題は間違いありません。すべてのコードをクリーンアップし、console.logを使用してnewContentHeightから2つの属性を取得する以外はすべて動作します。隠されているコンテンツdivのように見えます。 。アニメに渡される理由は、まずそれが上がってから下に行く理由です... Kinda strange

+0

これに対してjsfiddleを作成できますか? –

+0

@Mateusz W昨日jsfiddleを作成しましたが、保存するのを忘れてサイト全体を複製できず、スクリプトを複製するとうまくいきました。 それに少し勉強しました。問題は、 'main_content.css({display:" block "});'を追加すると、隠れているのにdivの高さを取得しようとしていて、上記のコードとその後、divの高さを取得、それは正しい高さを取得します。しかし、私はそれが隠されている必要があります。 ハックを使用しても機能しませんでした(-9999pxの余白を付けて高さを確認し、再度隠す)。 – g0dl3ss

答えて

1

問題を解決できませんでした。私は以下のスクリプトを修正しました。 http://css-tricks.com/dynamic-page-replacing-content/ それは私が探していた正確なアニメーションを持っています(簡単に実装できる2つのステップを除いて)。

1

問題はスクリプトではなく、スクリプトを実行しているシステムだと思います。時間を少し遅く交換する

main_content.animate({ 
"height": newContentHeight 
}, 3000); 
関連する問題