スクロール位置情報を取得表示させるJquery



縦長のページにてスクロール位置によって、
JavaScriptの処理を行う場合によく使用してます。
 

1.ヘッダー、JavaScriptの記述

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
	$(window).scroll(function () { 
			$("#idAtai").val($(document).scrollTop());	//スクロール位置の値をidAtaiに設定
	});
</script>

 

2.CSSの記述

(スクロール位置を表示させるため位置固定にしてます)

<style type="text/css">  
<!--
h1{
	font-size:14px;
	font-weight:normal;
	text-align:center;
}
#idWrap{
	width:1000px;
	margin:0 auto;
}
#idKotei{
	width:1000px;
	margin:0 auto;
	position:fixed;
	height:40px;
	text-align:center;
}
* html div#idKotei {
    position: absolute;
    top: expression(eval(document.documentElement.scrollTop+0));
	margin:0 auto;
	width:1000px;
}
-->  
</style>

 

3.HTMLの記述

(以下の記述は調整してみて下さい)

<div id="idWrap">
<div id="idKotei">
	<h1>スクロール位置情報取得・表示</h1>
    <input id="idAtai" style="text-align:center; font-size:14px;" value="0" type="text" />
</div><!--/値表示input部分固定-->
</div>
<div style="height:10000px;">
</div><!--/高さを10000pxに指定-->

 

4.やってみて思ったこと

・CSSの指定によってはブラウザの種類やバージョンにより、取得した値に若干誤差があった様な無かった様な。
・アンカーでページ内を移動する際はCSSのpaddingやmargin指定でコンテンツ間の余白や空間は指定せずに、
 透明の画像(spacer.gif)等でサイズ高さのサイズを指定して空間を取った方が良い様な。
 
スクロール位置情報を取得表示するデモ