指定要素までスクロール
指定要素までスクロールするには、element.scrollIntoViewメソッドを使用します。
- ※ IE7以下には対応しません。
構文
JavaScript
element.scrollIntoView([alignToTop|options])
- ※ 引数を指定する場合は、alignToTop引数またはoptions引数のどちらかを指定します。
- ※ IE8以上は引数の指定ができません。
(指定しても無視されます)
| 引数名 | 型 | 説明 | |
|---|---|---|---|
| 第一引数 | alignToTop | boolean | 対象要素への停止位置true(初期値)を指定すると、対象要素の上辺をウィンドウ表示領域の上辺に停止、 falseを指定すると、対象要素の下辺をウィンドウ表示領域の下辺に停止する |
| options | Object |
スクロールするオプションを{behavior: ..., block: ..., inline: ...} 形式で指定する詳細は options引数の詳細 を参照 |
|
options引数の詳細
| キー | 説明 | 指定可能な値 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| behavior | スクロールする際の アニメーション動作方法 |
|
||||||||
| block | 縦方向の スクロール停止位置 |
|
||||||||
| inline | 横方向の スクロール位置 |
|
サンプルコード
JavaScript
var gotoElem = document.getElementById('goto');
gotoElem.addEventListener('click', function() {
var targetId = this.getAttribute('href').replace(/^#/, ''),
targetElem = document.getElementById(targetId);
targetElem.scrollIntoView();
});
options引数を指定した場合は次のようなコードになります。
JavaScript
var gotoElem = document.getElementById('goto');
gotoElem.addEventListener('click', function() {
var targetId = this.getAttribute('href').replace(/^#/, ''),
targetElem = document.getElementById(targetId);
targetElem.scrollIntoView({
behavior : 'smooth',
block : 'end',
inline : 'center'
});
});