clientX/clientYとscreenX/screenYの違い
9495 ワード
clientX/clientYとscreenX/screenYの違い
JavaScriptの中には、マウスのサスペンションの位置を取得して、特殊な処理をする必要があります.この時はMouseEventオブジェクトを使う必要があります.MouseEventオブジェクトは、マウスの位置を特定する2つの属性を提供します.clientX/clientYとscreenX/screenY.この2つの属性以外にも、私たちはよくPageX/pageYとoffsetX/offsetYの2つの属性を使ってマウスの位置を決めるのですが、彼らは一体何の違いがありますか?
属性の説明 clientX/clientY
名前
説明
戻る
client X
イベントトリガーを返すと、マウスは元素の視角に対するX座標を返します.
数値
client
イベントトリガーを返すと、マウスは元素の視認口に対するY座標を返します.
数値
ここの元素の視口は実際上の世代はブラウザーで、clientXはマウスとブラウザの左の枠の距離で、clientYはマウスとブラウザの上の枠の距離です.
screenX/screenY
名前
説明
戻る
screenX
イベントトリガーを返すと、スクリーンに対するマウスのX座標が表示されます.
数値
screenY
イベントトリガーを返すと、スクリーンに対するマウスのY座標が表示されます.
数値
名前の通り、screenXはマウスとディスプレイの画面の左の枠の距離で、screenYはマウスとディスプレイの画面の上の枠の距離です.
pageX/pageY
名前
説明
戻る
pageX
イベントトリガーを返すと、ドキュメントに対するマウスのX座標が返されます.
数値
pageY
イベントトリガーを返すと、ドキュメントに対するマウスのY座標が表示されます.
数値
文書とは、ブラウザのページの内容を簡単に理解することができます.PageXはマウスとドキュメントの左側の距離です.PageYはマウスとドキュメントの上側の距離です.もしマウスをブラウザの間に置いて、スクロールブラウザを通じて、マウスの位置を移動していないにもかかわらず、ドキュメントの上の距離に対してずっと変化しています.
offsetX/offsetY
名前
説明
戻る
オフセット
イベントトリガーを返すと、マウスはイベントに対して要素のX座標を指します.
数値
オフセット
イベントトリガーを返すと、イベントに対するマウスポインタのY座標が表示されます.
数値
要素
サンプルコード
mouseover.
JavaScriptの中には、マウスのサスペンションの位置を取得して、特殊な処理をする必要があります.この時はMouseEventオブジェクトを使う必要があります.MouseEventオブジェクトは、マウスの位置を特定する2つの属性を提供します.clientX/clientYとscreenX/screenY.この2つの属性以外にも、私たちはよくPageX/pageYとoffsetX/offsetYの2つの属性を使ってマウスの位置を決めるのですが、彼らは一体何の違いがありますか?
属性の説明
名前
説明
戻る
client X
イベントトリガーを返すと、マウスは元素の視角に対するX座標を返します.
数値
client
イベントトリガーを返すと、マウスは元素の視認口に対するY座標を返します.
数値
ここの元素の視口は実際上の世代はブラウザーで、clientXはマウスとブラウザの左の枠の距離で、clientYはマウスとブラウザの上の枠の距離です.
名前
説明
戻る
screenX
イベントトリガーを返すと、スクリーンに対するマウスのX座標が表示されます.
数値
screenY
イベントトリガーを返すと、スクリーンに対するマウスのY座標が表示されます.
数値
名前の通り、screenXはマウスとディスプレイの画面の左の枠の距離で、screenYはマウスとディスプレイの画面の上の枠の距離です.
名前
説明
戻る
pageX
イベントトリガーを返すと、ドキュメントに対するマウスのX座標が返されます.
数値
pageY
イベントトリガーを返すと、ドキュメントに対するマウスのY座標が表示されます.
数値
文書とは、ブラウザのページの内容を簡単に理解することができます.PageXはマウスとドキュメントの左側の距離です.PageYはマウスとドキュメントの上側の距離です.もしマウスをブラウザの間に置いて、スクロールブラウザを通じて、マウスの位置を移動していないにもかかわらず、ドキュメントの上の距離に対してずっと変化しています.
名前
説明
戻る
オフセット
イベントトリガーを返すと、マウスはイベントに対して要素のX座標を指します.
数値
オフセット
イベントトリガーを返すと、イベントに対するマウスポインタのY座標が表示されます.
数値
要素
test
がマウスが要素に入ってイベントをトリガすると、オフセットXはマウスからP要素の左側までの距離を指していると仮定する.しかし、この属性は標準属性ではないので、IEとchromeのこの属性に対するサポートは違っています.chromeではoffsetXとoffsetYの値は整数であり、IEでは小数で表されており、要素がborder属性であればoffsetYの計算にも影響を与える.mouseover.
<html>
<head lang="en">
<meta charset="UTF-8">
<title>title>
<link type="text/css" href="../css/test.css" rel="stylesheet">
<script src="../js/jquery-2.1.4.js">script>
<script src="../js/eventtest.js">script>
head>
<body>
<div class="container">
<div class="section" >
div>
<hr>
<div class="section" >
<h3>clientX screenXh3>
<div class="example">
<p id="position">
please move mouse into this area.<br />
clientX ,screenX 。
p>
div>
div>
div>
body>
html>
test.cssdiv.container{
width:980px;
margin-left: auto;
margin-right: auto;
}
div.example{
height: 100px;
border:solid 1px #ccc;
background:#f8f8f8;
}
pre{
border:solid 1px #ccc;
background:#f8f8f8;
}
#banana{
font-family: FreeSerif;
font-size: 20px;
background: yellow;
}
#position{
border:solid 1px #ccc;
margin-left: 20px;
}
eventtest.js/**
* Created by qiumingsheng on 2015/8/27.
*/
$(function(){
$('#position')[0].addEventListener("mousemove",handlePositionEvent);
$('#position')[0].addEventListener("mouseout",handlePositionEvent);
function handlePositionEvent(e){
if(e.type == 'mousemove'){
$(e.target).html("clientX:"+ e.clientX+" clientY:"+e.clientY
+"
"+"screenX:"+ e.screenX +" screenY:"+e.screenY
+"
"+"pageX:"+ e.pageX+" pageY:"+e.pageY
+"
"+"offsetX:"+ e.offsetX+" offsetY:"+e.offsetY);
}else{
$(e.target).text(" please move mouse into this area.");
}
};
});