[セットトップ]javascriptウィンドウの幅の高さ、マウスの位置、スクロールの高さ

4346 ワード

ページの可視領域の幅:Dcument.body.clientWidthページの可視領域の高さ:document.body.clientHeightページの可視領域の幅:document.body.offset Widthページの可視領域の高さ:document.body.offset Height(境界線の幅を含む)document.body.scrollwidthホームページの全文は高いです.document.body.scrollHeightページは巻かれています.高いです.document.body.scrollTopページは左に巻かれています.document.body.scrollLeftページの本文の部分はwindowowowowows.screenpです.レートの幅:window.screen.widthスクリーン利用可能ワークエリアの高さ:window.screen.availHeight画面利用可能ワークエリアの幅:window.screen.avail Width
HTMLの正確な位置付け:scrollLeft、scrollwidth、clientWidth、offset Width scrollHeight:オブジェクトのスクロールの高さを取得します.scrollLeft:オブジェクトの左端とウィンドウの左端の間にある距離scrollTopを設定または取得する:オブジェクトの一番上とウィンドウの中に見えるコンテンツの一番上の距離scrollwidthを設定または取得する:オブジェクトのスクロール幅offsetHeightを取得する:レイアウトまたは親座標offsetPart属性によって指定された親座標に対するオブジェクトの高さを取得するoffset Left:レイアウトまたはoffset Part属性により指定された親座標に対するオブジェクトの計算左位置offset Top:レイアウトまたはoffset Top属性により指定された親座標に対するオブジェクトの計算先端位置event.client.clientに対するドキュメントの垂直座標event.offsetX相対コンテナの水平座標event.コンテナの垂直座標document.documentElement.scrollTop垂直方向にスクロールする値event.client X+document.documentElement.scrollTopに対して、ドキュメントの水平座標+垂直方向スクロールの量
IE、FireFoxの違いは以下の通りです.
IE 6.0、FF 1.06+:
clientWidth=width+padding
clientHeight=height+padding
offset Width=width+padding+border
offset Height=height+padding+border
IE 5.0/5.5:clientWidth=width-border
clientHeight=height-border
offset Width=width
offset Height=height
(要注意:CSSにおけるmargin属性は、clientWidth、offset Width、clientHeight、offset Heightとは関係がない)
 
 
------------------------------
このセクションのコードは主にDockmentオブジェクトのウィンドウに関するいくつかの属性を使用しています.これらの属性の主な機能と使い方は以下の通りです.
 
ウィンドウのサイズを得るには、ブラウザによって異なる属性と方法が必要です.
ウィンドウの本当のサイズを検出するには、NetscapeでWindowのプロパティを使用する必要があります.
IEの下でDcument内部に深く入り込む必要があります.
DOM環境では、ウィンドウのサイズを得るためには、要素ではなくルート要素のサイズに注意が必要です.
 
Windowオブジェクトのinner Width属性は、現在のウィンドウの内部幅を含む.
Windowオブジェクトのinner Height属性は、現在のウィンドウの内部高さを含んでいます.
Dcumentオブジェクトのbody属性は、HTMLドキュメントのラベルに対応します.
DcumentオブジェクトのdocumentElement属性は、HTMLドキュメントのルートノードを表します.
Dcument.body.clientHeightはHTMLドキュメントがあるウィンドウの現在の高さを表します.
Dcument.body.client WidthはHTMLドキュメントのあるウィンドウの現在の幅を表します.
 
実現コード:
<!DOCTYPE html >
<html>
<head>
	<title>        </title>
	<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
	<h2 align="center">          </h2>
	<form action="#" method="get" name="form1" id="form1">
		<!--            -->
		<p>            : <input type="text" name="availHeight" size="4"></p>
		<p>            : <input type="text" name="availWidth" size="4"></p>
	</form>
	<script type="text/javascript">
			var winWidth = 0;   
			var winHeight = 0;   
			function findDimensions() //  :       
			{   
				//         
				if (window.innerWidth)   winWidth = window.innerWidth;   
				else if ((document.body) && (document.body.clientWidth))   winWidth = document.body.clientWidth;   
				//         
				if (window.innerHeight)   winHeight = window.innerHeight;   
				else if ((document.body) && (document.body.clientHeight))   winHeight = document.body.clientHeight;   
				//    Document   body    ,         
				if (document.documentElement  && document.documentElement.clientHeight && document.documentElement.clientWidth)   {   
					winHeight = document.documentElement.clientHeight;   
					winWidth = document.documentElement.clientWidth;   
				}   
				//             
				document.form1.availHeight.value= winHeight;   
				document.form1.availWidth.value= winWidth;   
			}   
			findDimensions();   
			//    ,       
			window.onresize=findDimensions;
	</script>
</body>
</html>
  ソースプログラムの解読
(1)プログラムはまず、ウィンドウの現在の幅と高さを表示するための2つのテキストボックスを含むフォームを作成し、その値はウィンドウサイズによって変化します.
(2)後続のJavaScriptコードでは、まず2つの変数windwidthとwindHeightを定義し、ウィンドウの高さ値と幅値を保存する.
(3)その後、関数findDimensions()において、window.innerHeightとwindow.innerWidthを用いてウィンドウの高さと幅を得て、両者を前述の2つの変数に保存する.
(4)Dcument内部に深く入り込んでbodyを検出し、ウィンドウサイズを取得し、前述の2つの変数に格納する.
(5)関数の最後に、名前でフォーム要素にアクセスした結果、2つのテキストボックスに出力します.
(6)JavaScriptコードの最後に、findDimensionsions()関数を呼び出して、全体の操作を完了します.