0

これに似た質問がいくつかあり、すべての提案を試しましたが、役に立ちませんでした。

テキストエリアとボタンがあります。ボタンは最初は非表示ですが、ユーザーが何かを入力するとボタンが表示されます。

これに加えて、ボタンが表示されるようにページをスクロールしたいと考えています。例:

$(document).ready(function () {

    $('#AddCommentEntryBox').on('keyup', function (e) {
        if ($(this).val() !== '') {
            $('#AddCommentButton').show();
            $(window).scrollTop($('#AddCommentButton').position().bottom);
            //$("html, body").animate({ scrollTop: $(document).height() }, 1000);
        } else {
            $('#AddCommentButton').hide();
        }
    });
});

http://jsfiddle.net/sJQcM/

編集:より良い例 - ページではなく、親要素をスクロールする必要があります:

http://jsfiddle.net/sJQcM/3/

4

1 に答える 1

3
$(document).ready(function () {
    $('#AddCommentEntryBox').on('keyup', function (e) {
        if ($(this).val() !== '') {
            $('#AddCommentButton').show();
            $('html, body').stop().animate({scrollTop:$('#AddCommentButton').offset().top})
        } else {
            $('#AddCommentButton').hide();
        }
    });
});

フィドル

これからバックスペースを除外したい場合があります。

あなたの例もうまくいったかもしれ.position()ませ.top.left。Bottom は指定されていません (自分で計算する必要があります)。

を使用.animate()scrollTopてスムーズにスクロールすることもできます。さらに、スクロールする前に、ユーザーが入力を数秒間停止するまで待つことをお勧めしますtextarea

于 2013-06-17T14:01:36.103 に答える