1. ホーム
  2. javascript

[解決済み] jQueryで要素にスクロールする

2022-03-17 15:01:55

質問

私はこれを持っています input 要素を使用します。

<input type="text" class="textfield" value="" id="subject" name="subject">

それから、他のテキスト入力やtextareasなど、いくつかの要素があります。

ユーザーがその input#subject の場合、ページは美しいアニメーションとともに、ページの最後の要素までスクロールするはずです。上ではなく、下へスクロールするようにします。

ページの最後の項目は submit ボタンに #submit :

<input type="submit" class="submit" id="submit" name="submit" value="Ok, Done.">

アニメーションは速すぎず、流動的であるべきです。

jQueryの最新版を使用しています。プラグインをインストールせず、jQueryのデフォルトの機能で実現するのがいいと思っています。

どのように解決するのですか?

というIDのボタンがあるとします。 button この例をご覧ください。

$("#button").click(function() {
    $([document.documentElement, document.body]).animate({
        scrollTop: $("#elementtoScrollToID").offset().top
    }, 2000);
});

私は記事からコードを取得しました jQueryプラグインなしで要素へのスクロールをスムーズにする . そして、以下の例でテストしてみました。

<html>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script>
        $(document).ready(function (){
            $("#click").click(function (){
                $('html, body').animate({
                    scrollTop: $("#div1").offset().top
                }, 2000);
            });
        });
    </script>
    <div id="div1" style="height: 1000px; width 100px">
        Test
    </div>
    <br/>
    <div id="div2" style="height: 1000px; width 100px">
        Test 2
    </div>
    <button id="click">Click me</button>
</html>