2011-11-08 8 views
1

divに適用されるslideDownはslideDownを実行しますが、ページをスクロールせず、divを滑らせたdivは表示しないままにします。このdivが完全に表示されるように、slideDownと同期してページをスクロールする方法はありますか?slideDownと同期してスクロール

$('#log').append('<div id="in_log">...</div>'); 
$('#in_log').slideDown('fast'); 

ありがとう!

答えて

1

slideDownが自動的に下にページをスクロールしません。また、divisionの最終的な高さを特定できないため、slideDownと同期してページをスクロールすることはできません。できることは、slideDownアニメーションが完了した後に.animate()を使用してページをスクロールすることです。

+0

さて、jQueryを使いたいと思っているので、これを行う方法はありますか? –

+0

はい、分割scrollDownをして、それが終了したら、.animate()を使用してページを下にスクロールしてください。 – John

+0

どうしてですか? '#in_log'に固定された高さ+定義済みの余白/パディング(動的に使用するためにcssの代わりに要素に置く)がある場合は、to-beの高さを計算できます。その後は、2つの並列呼び出しだけです。 –

0

あなたが実行してdiv要素の先頭にスクロールすることができます:

var top = $('#in_log').offset().top 
$(window).scrollTop(top); 
+0

はい、解決策では最初にこのdivをslideDownしてからスクロールを開始することができます。しかし、私はこれらの2つのプロセスが同時に起こることを望んでいます:-) –

+0

@ cockroach-eater 'slideDown'はoffset()を変更しません。top ..高さは大きくなりますが、上は同じです。 –

関連する問題