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