15

:を含むdivを切り替えるドキュメントの準備ができているjQueryのスニペットがありtextareaます:

$('div#addnote-area').hide(); // hide the div
$('a#addnote-link').click(function() { // click event listener on link
     $('div#addnote-area').toggle(); // toggle the hidden div 
});

リンクをクリックすると、トグルが正常に機能します。私が抱えている問題はdiv#addnote-area、ブラウザの現在のビューポートより下にある場合、表示されたときにそこにとどまるということです。ユーザーのカーソルをテキストエリアに移動し、テキストエリア全体をウィンドウに表示できるようにします。

画像を見るにはここをクリックしてください

4

3 に答える 3

54

scrollToプラグインなし

$(window).scrollTop($('div#addnote-area').offset().top)

編集:まあ、私は確かにこの古い答えから多くのポイントを得る:)

ここにボーナスがあります、これはアニメーション化することもできます。

関数を使用してanimate()、bodyタグをターゲットにするだけです。

$('body').animate({scrollTop:$('div#addnote-area').offset().top},500)

Stackoverflowでお試しください!インスペクターコンソールを開いて実行します

$('body').animate({scrollTop:$('#footer').offset().top},500)

于 2010-05-13T23:21:16.853 に答える
4

scrollTojQueryプラグインを確認してください。あなたは単にこのようなことをすることができます:

$.scrollTo('div#addnote-area');

または、アニメーション化する場合は、スクロールが続くミリ秒数を指定します。

$.scrollTo('div#addnote-area', 500);
于 2010-02-24T20:35:06.173 に答える
1

jQueryscrollTopも機能します。次のように設定してみてください:

 $('#idOfElement').css('scrollTop', 10)

を使用すると、高さ/幅を非常に簡単に取得できます$(...).offset()

于 2010-05-13T23:15:45.893 に答える