この記事ではWebページをスクロールする方法について解説してきます。
スクロール系のメソッドとしてはscrollBy(),scrollTo(),Scroll()の3つがあります。
一つずつ解説していきます。
scrollBy(x,y)
は現在のスクロール位置を基点として引数で指定した数値分スクロールします。x
は横方向のスクロール量、y
は縦方向のスクロール量を指定します。
以下は1秒ごとに縦に100pxずつスクロールするサンプルです。
js
setInterval(function(){
window.scrollBy(0,100);
},1000);
scrollTo(x,y)
は現在のスクロール位置に関係なく、引数で指定した位置へスクロールします。x
は横方向のスクロール位置、y
は縦方向のスクロール位置を指定します。
以下は縦方向100pxの位置にスクロールするサンプルです。
現在のスクロール位置がどこであっても1秒後には上から100pxの位置へスクロールします。
js
setInterval(function(){
window.scrollTo(0,100);
},1000);
scroll(x,y)
はscrollTo(x,y)
と同じ機能を提供します。
js
setInterval(function(){
window.scroll(0,100);
},1000);
スムーススクロールしたい場合はScrollToOptions
を用いて以下のように記述します。
以下はscrollBy
のサンプルです。1秒ごとに100pxずつスムーススクロールします。
プロパティ | 値 |
---|---|
left | 水平位置のスクロール量 |
top | 垂直位置のスクロール量 |
behavior | 初期値はauto 。スムーススクロールしたい場合はsmooth を指定します。 |
js
let scrollOptions = {
left: 0,
top: 100,
behavior: 'smooth'
}
setInterval(function(){
window.scrollBy(scrollOptions);
},1000);
scrollTop
を用いた実装サンプルです。
以上で記事の解説はお終い!
HTML、CSS、JavaScriptをもっと勉強したい方にはUdemyがオススメ!同僚に差をつけよう!