yuiではページ上のオブジェクトの座標を取得することができます。まず、以下のyuiライブラリファイルが必要です。
これらのライブラリを読み込んだら次はHTMLタグの設定です。最も簡単な方法としてはid属性でID名を指定しておくものです。ID名を指定しておけば以下のようにして座標を取得することができます。
YAHOO.util.Dom.getXY("ID名");
実際のサンプルは以下のようになります。(サンプルを
実行する)
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>座標を取得する</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script src="js/yahoo.js" type="text/javascript"></script>
<script src="js/event.js" type="text/javascript"></script>
<script src="js/dom.js" type="text/javascript"></script>
<script type="text/javascript"><!--
function getPos() {
var
pos = YAHOO.util.Dom.getXY("myBox");
alert(pos);
}
// --></script>
</head>
<body>
<h1>yuiで座標を取得する</h1>
<div id="myBox">ここのボックスの座標が表示されます。</div>
<form>
<input type="button" value="座標を取得" onClick="getPos()">
</form>
</body>
</html>
ID名でなくDOMオブジェクトへの参照をパラメータとして渡すこともできます。以下のサンプルでは最初のdivタグのデータをパラメータとして指定しています。(サンプルを
実行する)
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>座標を取得する (2)</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script src="js/yahoo.js" type="text/javascript"></script>
<script src="js/event.js" type="text/javascript"></script>
<script src="js/dom.js" type="text/javascript"></script>
<script type="text/javascript"><!--
function getPos() {
var divObj = document.getElementsByTagName("div");
var pos = YAHOO.util.Dom.getXY(
divObj[0]);
alert(pos);
}
// --></script>
</head>
<body>
<h1>yuiで座標を取得する (2)</h1>
<div id="myBox">ここのボックスの座標が表示されます。</div>
<form>
<input type="button" value="座標を取得" onClick="getPos()">
</form>
</body>
</html>
[
目次へ]
(2006.5.18)