指定要素までスクロール
指定要素までスクロールするには、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'
});
});