DOM Using getXY

このサンプルは、赤い矩形のX座標(left)とY座標(right)をとるところで、getXYを使い、小さい青い矩形の座標をそれにセットする。このセットのときにsetXYを利用する。
このイベントハンドラーは、「実行」ボタンのクリックイベントに仕込んでおく。

サンプルコードは以下。

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>Ajax_Sampling</TITLE>
<!-- #style で id=foo,barの全ての要素に適用する。 -->
<style type="text/css"> 
#foo {
    background-color:#00f;
    height:10px;
    width:10px;
}
#bar {
    background-color:#f00;
    height:100px;
    width:100px;
    margin:0 100px 1em;
}
</style>

<!-- 読み込むjs --> 
<script type="text/javascript" src="scripts/yui/yahoo/yahoo-min.js" >
</script> 
<script type="text/javascript" src="scripts/yui/dom/dom-min.js" >
</script> 
<script type="text/javascript" src="scripts/yui/event/event-min.js" >
</script> 

<script type="text/javascript">

init = function() {

	var move = function() {
      //赤い矩形(id=bar)の座標を取得。
	    var xy = YAHOO.util.Dom.getXY('bar');
      //青い矩形(id=foo)の座標に取得した座標をセット。
	    YAHOO.util.Dom.setXY('foo', xy);
	};

    //YAHOO.util.Event.on はaddListnerのエイリアス 
    //(EventのAPIドキュメントより。)
    //id=demo-run 要素にclick eventで発火するmoveを仕込む。
	YAHOO.util.Event.on('demo-run', 'click', move);

}
</script>
</HEAD>

<BODY onload=init()>

<div id="foo"></div>
<div id="bar"></div>
<button id="demo-run">実行</button>

</BODY>
</HTML>

サンプル画面(実行後)は以下のようになる。