キャラクタを右から左へ動かす(画面左端で停止) |
Internet Explorer | Netscape Navigator | Opera | iCab | Safari | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3.0 | 4.0 | 4.5 | 5.0 | 5.5 | 6.0 | 2.0 | 3.0 | 4.0x | 4.x | 6.0 | 7.0 | 6 | 7 | 2.x | Beta | |
Windows | × | ○ | - | ○ | ○ | ○ | × | × | × | × | × | × | × | × | - | - |
Macintosh | × | ○ | ○ | ○ | - | - | × | × | × | × | × | × | × | - | × | ○ |
UNIX | - | - | - | - | - | - | × | × | × | × | × | × | - | - | - | - |
ポイント | if (cx > 0) cx = cx - 10; document.images["myChar"].style.left = cx; setTimeout("moveChar()",mSec); |
---|---|
説 明 | キャラクタを右から左側に移動させるにはキャラクタ(ここでは画像)のX座標を減算します。X座標は直接スタイルシートプロパティを操作するのではなく、変数で用意します。減算前または減算後に画面左端を超える場合にはX座標を減算しないようにします。画面右端の座標値は0なので、ゼロとX座標を比較します。その後でスタイルプロパティであるleftに入れます。 キャラクタを移動させる場合には、あらかじめスタイルシートで座標系(絶対座標)を指定しておかないと全く動かないブラウザがあります。 |
サンプル | <html> <head> <title>キャラクタを右から左へ動かす(画面左端で停止)</title> <script Language="JavaScript"><!-- cx = 0; // キャラクタの最初のX座標 mSec = 200; // キャラクタの移動速度(1秒=1000) function moveChar() { if (cx > 0) cx = cx - 10; document.images["myChar"].style.left = cx; setTimeout("moveChar()",mSec); } function startChar() { cx = document.body.clientWidth - document.images["myChar"].width; setTimeout("moveChar()",mSec); } // --></script> </head> <body onLoad="startChar()"> <img src="char.gif" name="myChar" style="position:absolute;top:0px;left:4000px;"> </body> </html> |
補足説明 | なし |
■サンプルスクリプトを実行する >>実行 ■各ブラウザでの動作結果を見る >>View! |