私にはあまりよく分からないという質問があります。ここに私のシナリオがあります。私はリンクが付いた一連のリストアイテムを持っています。リンクがクリックされるたびに、「読み込み中」の画像がスパンに挿入され、スライドされます。いくつかの操作が完了した後、「読み込み中」の画像が削除され、コンテンツが配置されます。問題は、slideDown自体ではなく、操作が完了した後です。jQueryでスライドした後、コンテンツの高さに合わせてスライドを滑らかにする方法は?
$("ul li a").click(function() {
var t = $(this).parent();
$(t).append("<span class='content'><img class='loading' style='display:block;' src='../../Content/loading.gif' /></span>");
$(".content").hide().slideDown("slow");
$.getJSON("/Home/DoStuff/?ran=" + ran, null, function() {
var span = $(t).find(".content");
$(span).html("blah");
$(".loading").remove();
});
});
そして最後に、このためのCSS:
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
</ul>
と、対応のjQuery:ここに私のコードです
.content { display:block;border:1px solid red; }
img.loading { padding: 1em; }
ので、この場合には、負荷イメージが挿入されています1emのパディングを使用してスパンに追加し、リストアイテムに追加します。その後、スパンは滑らかになり、素晴らしい効果が得られます。操作が完了し、コンテンツが挿入されるたびに、スパンはコンテンツの高さまで「ジャンプ」します。私は、パディングされた画像の高さにコンテンツの高さを適応させることから、高さの変化をどのようにアニメーション化することができるのだろうかと思っていました。ありがとう。
こんにちは、アドバイスありがとうございます。 – user135383