Javascript/Javascript関連情報

YUIでクリックした場所へ移動(2ページ目)

今回は、YAHOO.util.Eventのメソッドを利用して、カーソルでクリックした場所を取得し、そこへYAHOO.util.Motionを使って移動してみます。

高橋 登史朗

執筆者:高橋 登史朗

Javascriptガイド


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);
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>
このソースのtoプロパティは、getXYを利用して次のように、さらに簡単に書くこともできます。

    var xy = E.getXY(ev);
    
    var myMotion = new YAHOO.util.Motion(
      id , { points : { to: xy } } ,0.2
    );
    


まだまだ、YUIシリーズは続きますのでお楽しみに。

【編集部おすすめの購入サイト】
楽天市場で Javascript 関連の書籍を見るAmazon で Javascript 関連の書籍を見る
  • 前のページへ
  • 1
  • 2
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます