7 ウィンドウをスクロールさせる

縦に長いページを作った後、Javascriptを使ってウィンドウを一定速度でスクロールさせてください。
滑らかにスクロールしたり、スクロール幅や間隔を変えたりすることができます。

ファイル名は js07.html  としてください。

注意: ウィンドウの縦の長さが十分長くないと、スクロールができません。 改行を多めに入れるか、ウィンドウの縦の長さを短くして動作を確認してください。

サンプル

1: <HTML>
2: <HEAD>
3: <TITLE>ウィンドウをスクロールさせる</TITLE>
4: <SCRIPT language="JavaScript">
5: <!--
6:
7: itv = 5;
8: y = 0;
9: function scrollPage() {
10:    window.scrollTo(0,y++);
11:    if(y > 0){ setTimeout("scrollPage()",itv); }
12: }
13: //-->
14: </SCRIPT>
15: </HEAD>
16: <BODY>
17: <TABLE><TR><TD>
18: <INPUT type="button" value="スクロール開始!" onClick="scrollPage()"><BR>
19: <BR>
20: サンプル<BR><BR>
21: サンプル<BR><BR>

     :   省略

42: サンプル<BR><BR>
43: サンプル<BR><BR>
44: </TD></TR></TABLE>
45: </BODY>
46: </HTML>

解説

7行目:
itv = 5;
スクロールを実行する時間間隔を、ミリ秒単位で設定しています。 数字を小さくするとスクロール速度が速くなります。

8行目:
y = 0;
スクロール開始位置を、ウィンドウの縦方向(y座標)のピクセル単位で設定しています。 0はページの一番上を意味します。

9行目:
function scrollPage() {
新しい関数 scrollPage() を定義しています。
scrollPage() 関数が実行されると、ウィンドウを下にスクロールさせた後、itv 変数に指定された時間ごとに scrollPage() 関数が再度実行されます。
結果、下にスクロールし続けます。

10行目:
window.scrollTo(0,y++);
window.scrollTo() メソッドでウィンドウを任意の位置にスクロールさせられます。
この例では、 Y座標を1増やす(y++) ことで1ピクセル下にスクロールさせています。

11行目:
if(y > 0){ setTimeout("scrollPage()",itv); }
setTimeout() メソッドを実行すると、指定した時間(itvミリ秒)ごとに、指定の命令(scrollPage())を実行します。
この例では、scrollPage() 自身を実行するので、1ピクセル下にスクロールする処理が連続して行われるので、
下に向かってスクロールし続けることになります。

 

実行例

実行例