Element: scrollIntoViewIfNeeded() メソッド
非標準: この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。
Element.scrollIntoViewIfNeeded()
メソッドは、現在の要素がまだブラウザーウィンドウの可視領域内にない場合、ブラウザーウィンドウの可視領域内にスクロールします。要素がすでにブラウザーウィンドウの可視領域内にある場合、スクロールは行われません。このメソッドは標準の Element.scrollIntoView()
メソッドの独自のバリエーションです。
構文
js
scrollIntoViewIfNeeded()
scrollIntoViewIfNeeded(centerIfNeeded)
引数
centerIfNeeded
省略可-
オプションの論理値で、既定値は
true
です。true
の場合、要素はスクロール可能な祖先の可視領域の中央に配置されます。false
の場合、要素はスクロール可能な祖先の可視領域の最も近い端に揃えられます。可視領域のどの辺が要素に最も近いかに応じて、要素の上端が可視領域の上端に揃えられるか、要素の下端が可視領域の下端に揃えられます。
返値
なし (undefined
)。
例
js
const element = document.getElementById("my-el");
element.scrollIntoViewIfNeeded(); // 可視領域の中央に要素を移動
element.scrollIntoViewIfNeeded(false); // 要素を可視領域の最も近い辺に揃える
仕様書
どの仕様にも含まれていません。これは WebKit 独自のメソッドです。
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- W3C CSSOM bug 17152: Support centering an element when scrolling into view. (同等の標準化された
scrollIntoViewIfNeeded
の機能リクエスト)