今日紹介するJavaScriptライブラリ[MoveTo]は、容量が約1KBと軽量で、しかもjQueryに依存せずにスムーススクロールを導入できるスグレモノです。
サンプル:https://on-ze.com/demo/js-moveto/
使い方は超簡単。
下記サイトからダウンロードしたスクリプトファイル『moveTo.min.js』を読み込み、トリガーの設定をするだけ。
GitHub : https://github.com/hsnaydd/moveTo
上記サイト右上に表示されているボタン『Clone or download』→『Download ZIP』とクリックするとスグにダウンロードがはじまります。
入手した『moveTo.min.js』はHTMLの適当な箇所で読み込みましょう。
<script src="moveTo.min.js"></script>
またこの作業と合わせてリンクターゲットも指定しておきます。
具体的には、下記のようにID属性を指定することになりますね。
<div id="target">ここにスクロールしてきますよ!</div>
最後にスクロールを発火させるためのボタンを作ります。
<a href="#target" class="js-trigger" data-mt-duration="300">Trigger</a>
または……
<button type="button" class="js-trigger" data-target="#target" data-mt-duration="300">Trigger</button>
初期設定は「tolerance」「duration」「easing」「callback」の4つの項目が用意されており、次のように記述して使用します。
const moveTo = new MoveTo({
	duration: 800
});
const triggers = $('.js-trigger');
for (var i = 0; i < triggers.length; i++) {
 moveTo.registerTrigger(triggers[i]);
}
たったこれだけ!
各設定項目の詳細
- tolerance
- スクロール到達地点の許容誤差を補正します。初期値は「0」です。
- duration
- スクロール到達地点まで移動する時間をミリ秒単位で指定します。初期値は「800」です。
- easing
- スクロールのイージング描画の種類を指定します。初期値は「easeOutQuart」です。
- callback
- スクロール終了時に実行される処理を指定できます。
単純なスムーススクロールの実装で、これだけ設定できれば充分ではないでしょうか。
ぜひお試しください!
 
						![【jQuery】これだけで完璧に導入できる[Lightbox]の実装方法。:サムネイル](https://on-ze.com/blog/wordpress/wp-content/themes/onze-blog-2024/inc/thumbnail/600x360x80-7b84661a47b94014ea21f9c1a78873a8-thumbnail.png) 
								 
							![【Font】日本人ならゲシュタルト崩壊必至のフォント[Electroharmonix]が話題になっています。:サムネイル](https://on-ze.com/blog/wordpress/wp-content/themes/onze-blog-2024/inc/thumbnail/600x360x80-b9d8188b8fbabe8adf79fbdd200c9586-electroharmonix-a.png)