Element.scrollIntoView() - 要素が見える位置までスクロールする
公開日:
Element.scrollIntoView()は、Elementのメソッドです。要素が見える位置までスクロールします。
概要
IDL
void scrollIntoView();
void scrollIntoView((boolean or ScrollIntoViewOptions) arg);
dictionary ScrollIntoViewOptions : ScrollOptions {
ScrollLogicalPosition block = "center";
ScrollLogicalPosition inline = "center";
};
dictionary ScrollOptions {
ScrollBehavior behavior = "auto";
};
enum ScrollBehavior { "auto", "instant", "smooth" };
enum ScrollLogicalPosition { "start", "center", "end", "nearest" };
引数
第1引数: arg
(boolean or ScrollIntoViewOptions) arg
真偽値、またはオブジェクトで、オプションを指定します。省略した場合はtrue
が適用されます。真偽値の場合、下記の2通りです。
- true
- 画面の上端と要素の上端が重なる位置までスクロールします。
- false
- 画面の下端と要素の下端が重なる位置までスクロールします。
オブジェクトの場合、下記のプロパティを指定できます。2017年3月現在、まだサポートするブラウザが少ないので非推奨です。
- behavior
- 初期値は
"auto"
。スクロールのアニメーションを表す文字列を指定する。- "auto"
- ブラウザに任せる。
- "instant"
- アニメーションなし。
- "smooth"
- スムーズスクロール。
- block
- 初期値は
"center"
。ブロックフロー方向(通常は垂直方向)のスクロール位置を表す文字列を指定する。- "start"
- 画面の上端と要素の上端が重なる位置までスクロールします。
- "center"
- 要素が画面の上下の中央になる位置までスクロールします。
- "end"
- 画面の下端と要素の下端が重なる位置までスクロールします。
- "nearest"
"start"
か"end"
の、どちらが近い方が選択されます。
- inline
- 初期値は
"center"
。インラインベースフロー方向(通常は水平方向)のスクロール位置を表す文字列を指定する。- "start"
- 画面の左端と要素の左端が重なる位置までスクロールします。
- "center"
- 要素が画面の左右の中央になる位置までスクロールします。
- "end"
- 画面の右端と要素の右端が重なる位置までスクロールします。
- "nearest"
"start"
か"end"
の、どちらが近い方が選択されます。
返り値
void
返り値はありません。
脚注
:
左のインターフェイスが、右のインターフェイスを継承することを表します。
boolean
真偽値(true
かfalse
)。
dictionary
指定できる値などの情報を定義しています。
enum
列挙型の値であることを表し、指定できる値を定義しています。
void
undefined
が返ることを表す。
仕様書
https://drafts.csswg.org/cssom-view/#extension-to-the-element-interface
説明
scrollIntoView()は、要素が見える位置までスクロールするメソッドです。上端と下端、どちらを揃えるかを指定できます。
HTML
<p id="hoge">SYNCER</p>
JavaScript
// 要素を取得
var element = document.getElementById( "hoge" ) ; // <p id="hoge">SYNCER</p>
// メソッドを実行
element.scrollIntoView( true ) ; // 画面の上端と要素の上端が重なる位置までスクロール
element.scrollIntoView( false ) ; // 画面の下端と要素の下端が重なる位置までスクロール
サンプルコード
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>【デモ】Element.scrollIntoView() - 要素が見える位置までスクロールする</title>
<link rel="canonical" href="https://syncer.jp/Web/API_Interface/Reference/IDL/Element/scrollIntoView/">
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<style>
body {
width: 4200px ;
background-color: #fff ;
}
div#hoge {
background-color: #D36015 ;
width: 200px ;
height: 200px ;
margin: 2000px ;
}
button#run {
position: fixed ;
right: 24px ;
bottom: 24px ;
}
</style>
</head>
<body>
<p>デモは、新しいウィンドウで開いてお試し下さい。ボタンは画面の右下にあります。</p>
<button id="run" type="button">メソッドを実行</button>
<div id="hoge"></div>
<script>
// 要素を取得
var element = document.getElementById( "hoge" ) ;
// ボタンのクリックイベント
document.getElementById( "run" ).onclick = function () {
// メソッドを実行
element.scrollIntoView( true ) ;
}
</script>
</body>
</html>
デモ
サポート状況
Element.scrollIntoView()のサポート状況です。
ブラウザ | サポート状況 | ブラウザ | サポート状況 |
---|---|---|---|
Chrome | Supported | Firefox | Supported |
Edge | Supported | Internet Explorer | Supported |
Safari | Supported | Opera | Supported |
iOS Safari | Supported | Android | Supported |
Chrome
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
57 | Supported | 2017年3月頃 | 0.1% |
56 | Supported | 2017年1月頃 | 12.02% |
55 | Supported | 2016年12月頃 | 12.36% |
54 | Supported | 2016年10月頃 | 0.44% |
53 | Supported | 2016年9月頃 | 0.25% |
52 | Supported | 2016年7月頃 | 0.27% |
51 | Supported | 2016年6月頃 | 0.4% |
50 | Supported | 2016年4月頃 | 0.32% |
49 | Supported | 2016年3月頃 | 0.47% |
48 | Supported | 2016年1月頃 | 0.02% |
47 | Supported | 2015年12月頃 | 0.06% |
46 | Supported | 2015年10月頃 | 0.56% |
45 | Supported | 2015年9月頃 | 0.01% |
44 | Supported | 2015年7月頃 | 0.83% |
43 | Supported | 2015年5月頃 | 0.05% |
42 | Supported | 2015年4月頃 | 0.05% |
41 | Supported | 2015年3月頃 | 0.01% |
40 | Supported | 2015年1月頃 | 0.59% |
39 | Supported | 2014年11月頃 | 0.02% |
38 | Supported | 2014年10月頃 | 0.08% |
37 | Supported | 2014年8月頃 | 0.01% |
36 | Supported | 2014年7月頃 | 0.01% |
35 | Supported | 2014年5月頃 | 0.01% |
34 | Supported | 2014年4月頃 | 0.14% |
33 | Supported | 2014年2月頃 | 0.01% |
32 | Supported | 2014年1月頃 | 0% |
31 | Supported | 2013年11月頃 | 0.01% |
30 | Supported | 2013年10月頃 | 0.03% |
29 | Supported | 2013年8月頃 | 0% |
28 | Supported | 2013年6月頃 | 0.03% |
27 | Supported | 2013年5月頃 | 0.01% |
26 | Supported | 2013年3月頃 | 0% |
25 | Supported | 2013年2月頃 | 0% |
24 | Supported | 2013年1月頃 | 0% |
23 | Supported | 2012年11月頃 | 0% |
22 | Supported | 2012年9月頃 | 0% |
21 | Supported | 2012年7月頃 | 0% |
20 | Supported | 2012年6月頃 | 0% |
19 | Supported | 2012年5月頃 | 0% |
18 | Supported | 2012年3月頃 | 0.01% |
17 | Supported | 2012年2月頃 | 0.01% |
16 | Supported | 2011年12月頃 | 0% |
15 | Supported | 2011年10月頃 | 0% |
14 | Supported | 2011年9月頃 | 0% |
Firefox
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
52 | Supported | 2017年3月頃 | 0.12% |
51 | Supported | 2017年1月頃 | 1.7% |
50 | Supported | 2016年11月頃 | 0.78% |
49 | Supported | 2016年9月頃 | 0.02% |
48 | Supported | 2016年8月頃 | 0.07% |
47 | Supported | 2016年6月頃 | 0.03% |
46 | Supported | 2016年4月頃 | 0.01% |
45 | Supported | 2016年3月頃 | 0.1% |
44 | Supported | 2016年1月頃 | 0.01% |
43 | Supported | 2015年12月頃 | 0.02% |
42 | Supported | 2015年11月頃 | 0.01% |
41 | Supported | 2015年9月頃 | 0% |
40 | Supported | 2015年8月頃 | 0.02% |
39 | Supported | 2015年7月頃 | 0.01% |
38 | Supported | 2015年5月頃 | 0.02% |
37 | Supported | 2015年3月頃 | 0% |
36 | Supported | 2015年2月頃 | 0.01% |
35 | Supported | 2015年1月頃 | 0% |
34 | Supported | 2014年12月頃 | 0.01% |
33 | Supported | 2014年10月頃 | 0% |
32 | Supported | 2014年9月頃 | 0% |
31 | Supported | 2014年7月頃 | 0.01% |
30 | Supported | 2014年6月頃 | 0% |
29 | Supported | 2014年4月頃 | 0% |
28 | Supported | 2014年3月頃 | 0.01% |
27 | Supported | 2014年2月頃 | 0% |
26 | Supported | 2013年12月頃 | 0% |
25 | Supported | 2013年10月頃 | 0% |
24 | Supported | 2013年9月頃 | 0% |
23 | Supported | 2013年8月頃 | 0% |
22 | Supported | 2013年6月頃 | 0% |
21 | Supported | 2013年5月頃 | 0% |
20 | Supported | 2013年4月頃 | 0% |
19 | Supported | 2013年2月頃 | 0% |
18 | Supported | 2013年1月頃 | 0% |
17 | Supported | 2012年11月頃 | 0% |
16 | Supported | 2012年10月頃 | 0% |
15 | Supported | 2012年8月頃 | 0% |
14 | Supported | 2012年7月頃 | 0% |
13 | Supported | 2012年6月頃 | 0% |
12 | Supported | 2012年4月頃 | 0% |
11 | Supported | 2012年3月頃 | 0% |
10 | Supported | 2012年1月頃 | 0% |
9 | Supported | 2011年12月頃 | 0% |
8 | Supported | 2011年11月頃 | 0% |
7 | Supported | 2011年9月頃 | 0% |
6 | Supported | 2011年8月頃 | 0% |
5 | Supported | 2011年6月頃 | 0% |
4 | Supported | 2011年3月頃 | 0% |
Edge
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
14 | Supported | 2016年2月頃 | 1.05% |
13 | Supported | 2015年9月頃 | 0.08% |
Internet Explorer
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
11 | Supported | 2013年10月頃 | 4.99% |
10 | Supported | 2012年8月頃 | 0.09% |
9 | Supported | 2011年3月頃 | 0.18% |
8 | Supported | 2009年3月頃 | 0.04% |
7 | Supported | 2006年10月頃 | 0.01% |
6 | Supported | 2001年8月頃 | 0% |
Safari
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
10 | Supported | 2016年10月頃 | 0% |
9.1 | Supported | 2015年9月頃 | 0% |
8.0 | Supported | 2014年10月頃 | 0% |
7.1 | Supported | 2013年10月頃 | 0% |
6.0 | Supported | 2012年7月頃 | 0% |
5.1 | Supported | 2011年7月頃 | 0% |
4 | Supported | 2009年6月頃 | 0% |
Opera
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
43 | Supported | 2017年2月頃 | 0.06% |
42 | Supported | 2016年12月頃 | 0.09% |
41 | Supported | 2016年10月頃 | 0.01% |
40 | Supported | 2016年9月頃 | 0% |
39 | Supported | 2016年8月頃 | 0% |
38 | Supported | 2016年6月頃 | 0% |
37 | Supported | 2016年5月頃 | 0.01% |
36 | Supported | 2016年3月頃 | 0.01% |
35 | Supported | 2016年2月頃 | 0% |
34 | Supported | 2015年12月頃 | 0% |
33 | Supported | 2015年10月頃 | 0% |
32 | Supported | 2015年9月頃 | 0% |
31 | Supported | 2015年8月頃 | 0% |
30 | Supported | 2015年6月頃 | 0% |
29 | Supported | 2015年4月頃 | 0% |
28 | Supported | 2015年3月頃 | 0% |
27 | Supported | 2015年1月頃 | 0% |
26 | Supported | 2014年12月頃 | 0% |
25 | Supported | 2014年10月頃 | 0% |
24 | Supported | 2014年9月頃 | 0% |
23 | Supported | 2014年7月頃 | 0% |
22 | Supported | 2014年6月頃 | 0% |
21 | Supported | 2014年5月頃 | 0.01% |
20 | Supported | 2014年3月頃 | 0% |
19 | Supported | 2014年1月頃 | 0% |
18 | Supported | 2013年11月頃 | 0% |
17 | Supported | 2013年10月頃 | 0% |
16 | Supported | 2013年8月頃 | 0% |
15 | Supported | 2013年7月頃 | 0% |
12 | Supported | 2012年6月頃 | 0.02% |
11.6 | Supported | 2011年12月頃 | 0% |
11.1 | Supported | 2011年4月頃 | 0% |
iOS Safari
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
10.0 | Supported | 2016年9月頃 | 39.65% |
9.1 | Supported | 2015年9月頃 | 5.39% |
8.3 | Supported | 2014年9月頃 | 1.03% |
7.0 | Supported | 2013年9月頃 | 0.24% |
6.0 | Supported | 2012年9月頃 | 0.05% |
5.1 | Supported | 2011年10月頃 | 0.03% |
Android
バージョン | サポート状況 | 公開時期 | シェア |
---|---|---|---|
4.4 | Supported | 2013年10月頃 | 0% |
4.3 | Supported | 2013年7月頃 | 0% |
4.2 | Supported | 2013年3月頃 | 0.03% |
4.1 | Supported | 2012年12月頃 | 0% |
4.0 | Supported | 2012年6月頃 | 1.61% |
2.3 | Supported | 2011年10月頃 | 0% |