37430


jQueryでプラグインを使わずにスクロールの速度を変更するにはどうすればいいですか？

メソッドやプロパティなどありますか？


CC BY-SA 3.0
2017-07-14T12:33:07.323
36361
2017-08-23T05:57:23.570
12297
question
javascript jquery
jQueryでプラグインを使わずにスクロールの速度を変更するにはどうすればいいですか？


どの動作をした時のスクロールの速度のコントロールをしたいのかわかりませんが、

jQueryのAnimate関数を利用することでスクロールの速度は変更できます。  
[.animate() | jQuery API Documentation](http://api.jquery.com/animate/)  
scrollTopやscrollLeftなどの非スタイルプロパティやカスタムプロパティもアニメーションできます。

あとはイベント発火時に通常のスクロールイベントを打ち消して上記のイベントに置き換えれば実施できるともいます

[code]

    $(function(){
    
      $("#toTop").click(function(){
        $('html,body').animate({scrollTop: 0}, 5000);
      });
    });
[/code]

[code]

    <div style="height:500px;">↓↓↓↓↓</div>
    <button id="toTop">上へ</button>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
[/code]


CC BY-SA 3.0
2017-08-23T05:57:23.570
37430
2017-08-23T05:57:23.570
22665
36361
answer