一覧へ戻る

ページ先頭へスクロールさせるスクリプト

縦長ページも気持よくスクロールしながら先頭へ移動させるスクリプトです。
スクリプト自体も短く、設置も超簡単!

このスクリプトの良いところは、ページの先頭部分に<a name="">や<div id="">などの余計なタグを
埋め込む必要がない点にあります。

ページに内に設置した先頭へ戻る為の<a>タグに、onClickイベントを記述するだけのお手軽設置です。

動作サンプルを確認する


下記のスクリプトをhtml内に書き込むか、外部ファイルから読み込みます。
※元ネタ:A (slightly) better technique for "Back to Top" links.

function backToTop() {
	var x1 = x2 = x3 = 0;
	var y1 = y2 = y3 = 0;
	if (document.documentElement) {
		x1 = document.documentElement.scrollLeft || 0;
		y1 = document.documentElement.scrollTop || 0;
	}
	if (document.body) {
		x2 = document.body.scrollLeft || 0;
		y2 = document.body.scrollTop || 0;
	}
	x3 = window.scrollX || 0;
	y3 = window.scrollY || 0;
	var x = Math.max(x1, Math.max(x2, x3));
	var y = Math.max(y1, Math.max(y2, y3));
	window.scrollTo(Math.floor(x / 2), Math.floor(y / 2));
	if (x > 0 || y > 0) {
		window.setTimeout("backToTop()", 50);
	}
}

■スクロールのスピード調整

("backToTop()", 50)の数値を大きくするとスクロールスピードは遅くなります。

		window.setTimeout("backToTop()", 50);
	}
}

htmlでの記述はリンクにonClickイベントを追加するだけ!!

<a href="#" onclick="backToTop(); return false">動作の確認|このページの先頭へ</a>

【動作サンプル】

※下記の「動作の確認|このページの先頭へ」をクリックするとスクロールしてページ先頭へ戻ります。

動作の確認|このページの先頭へ

動作環境・スクリプトエラー報告・対処方法

動作環境
 
エラー・バグ報告
 
不具合対処方
 
修正パッチ