YUIでクリックした場所へ移動
クリックした場所へ移動する
前ページのサンプルでは、クリック位置を取得するメソッドを試しました。 これをYAHOO.util.Motionの「to」に設定すれば、クリック位置へ移動させることができます。下記サンプルでは、X値(left)を返すYAHOO.util.Event.getPageX(ev)とY値(top)を返すYYAHOO.util.Event.getPageY(ev) を使って、クリック位置の値を取得するように設定しています。
クリックした場所へ移動します
ソースは次の通りです。
<script type="text/javascript"> //ネームスペースを作成 YAHOO.namespace('myTest200707102'); YAHOO.myTest200707102.chkXY = function (ev){ var id = 'test2'; var E = YAHOO.util.Event; //YAHOO.util.Eventショートカット var x = E.getPageX(ev);このソースのtoプロパティは、getXYを利用して次のように、さらに簡単に書くこともできます。
var y = E.getPageY(ev); var myMotion = new YAHOO.util.Motion( id , { points : { to: [x,y] } } ,0.2 ); myMotion.animate();//モーション実行 }; //クリックしたらYAHOO.myTest200707102.chkXYを実行 YAHOO.util.Event.addListener(document,'click',YAHOO.myTest200707102.chkXY); </script> <div style="position:relative"> <div id="test2" style="position:absolute;left:0px;top:0px; width:100px;height:100px;padding:10px; background-color:#c3ff23"> クリックした場所へ移動します </div> </div>
var xy = E.getXY(ev); var myMotion = new YAHOO.util.Motion( id , { points : { to: xy } } ,0.2 );
まだまだ、YUIシリーズは続きますのでお楽しみに。