memo.xight.org

日々のメモ

ページをなめらかにスクロールさせるJavaScriptライブラリ

Source

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()", 25);
	}
}


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


Reference

wg:A (slightly) better technique for "Back to Top" links.
http://web-graphics.com/mtarchive/001659.php

ZEROBASE BLOG - 2005-10-01 - [ajax] ページ内リンクでスムーススクロール
http://zerobase.jp/blog/entry-268.html

via

SiMPLE*SiMPLE - 2006-09-27 - このページの先頭へ、をちょこっとおしゃれに
http://www.simplexsimple.com/archives/2006/09/post.html

caramel*vanilla - 2006-10-08 - ページ内リンクをわかりやすくするJavaScript
http://caramel-tea.com/2006/10/link_javascript/