画像を指定座標まで移動させる


動作ブラウザ 【 IE:4.0  NN:6.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows × - × × × × - × -
Macintosh × - × × × × - - ×
UNIX - - - - - × × × × - - -
Dreamcast - - - - - - - - - - × × -

ポイント x = x + step; y = a * x;
説  明 指定位置まで移動させるにはy = a*x + bの計算式で座標を計算しスタイルシートのtop、leftプロパティに計算した座標値を代入します。x < yの時と x > yの時と処理を分け傾きが異なっても、同じステップで移動するようにします。計算時(と表示時)に誤差が発生するため、完全に指定した座標まで移動しない場合があります。
サンプル <html> <head> <title>画像を指定座標まで移動させる</title> <script language="JavaScript"><!-- x1 = 10; y1 = 10; x2 = 80; y2 = 100; step = 1; dx = x2 - x1; dy = y2 - y1; if (dx > dy) a = dy / dx; else a = dx / dy; x = x1; y = y1; function moveImg() { flag = true; if (dx > dy) { x = x + step; y = a * x; if (x > x2) flag = false; }else{ y = y + step; x = a * y; if (y > y2) flag = false; } document.myIMG.style.left = x; document.myIMG.style.top = y; if (flag) setTimeout("moveImg()",100); } // --></script> </head> <body topmargin="0" leftmargin="0"> <img src="ball.gif" name="myIMG" style="position:absolute;top:10px;left:10px;"><br> <img src="ball.gif" style="position:absolute;top:100px;left:80px;"><br> <a href="javaScript:moveImg()">移動</a> </body> </html>
補足説明 なし

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA