ページ上のオブジェクトを移動させる

 yuiではページ上のオブジェクトの座標を設定することができます。まず、以下のyuiライブラリファイルが必要です。
 これらのライブラリを読み込んだら次はHTMLタグの設定です。最も簡単な方法としてはid属性でID名を指定しておくものです。ID名を指定しておけば以下のようにして座標を設定することができます。

YAHOO.util.Dom.setXY("ID名", [X座標, Y座標]);

実際のサンプルは以下のようになります。(サンプルを実行する

<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"><!--
window.onload = randomPos;
function randomPos() {
var x = Math.floor(Math.random() * 640);
var y = Math.floor(Math.random() * 480);
YAHOO.util.Dom.setXY("myBox",[x,y]);
setTimeout("randomPos()",1000);
}
// --></script>
</head>
<body>
<h1>yuiで指定座標に移動させる</h1>
<div id="myBox">ここがページ上のランダムな位置に1秒ごとに移動します。</div>
</body>
</html>

 ID名でなくDOMオブジェクトへの参照をパラメータとして渡すこともできます。以下のサンプルでは最初のdivタグのデータをパラメータとして指定しています。(サンプルを実行する

<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"><!--
window.onload = randomPos;
function randomPos() {
var x = Math.floor(Math.random() * 640);
var y = Math.floor(Math.random() * 480);
var divObj = document.getElementsByTagName("div");
YAHOO.util.Dom.setXY(divObj[0],[x,y]);
setTimeout("randomPos()",1000);
}
// --></script>
</head>
<body>
<h1>yuiで指定座標に移動させる</h1>
<div id="myBox">ここがページ上のランダムな位置に1秒ごとに移動します。</div>
</body>
</html>


[目次へ]

(2006.5.18)