将来これを読みたい人のためにこのページを編集する:P
私はここであまりにも多くを求めているようです..しかし、この問題で私を助けてくれた人たちに感謝します!実際、私はあなたの答えをすべて受け入れたいのですが、私は1つしか受け入れられないようです..>。>
質問1:画像を移動したいのですが、(を使用して)
画像の位置を取得しようとすると、整数に変換するとNaN値が表示されます。これをどうやって直すのかしら:/document.getElementById().style.left
これが私のコードです:
<script type="text/javascript">
function playit()
{
alert(parseInt(document.getElementById('ball').style.left)); <!-- shows a NaN value -->
}
</script>
画像をテーブルに配置し、onclick関数を使用して呼び出します。<td id="frame" colspan="5" onclick="playit()">
正確には、私は次のように画像を宣言しました:<img src="play/ball.png" id="ball" name="ball"/>
写真のCSSは次のとおりです。
#ball
{
position:absolute;
top:500px;
left:500px;
}
解決策( VIPIN JAINによって提供):.offsetLeft
代わりに使用element.style.left
質問2:
編集:
で修正しましたが.offsetLeft
、問題なく動作します。画像を移動しようとすると、別のエラーが発生しました。再帰を使いすぎているそうです。再帰を使用しているために発生することはわかっていますが、再帰を使用することの何が問題になっているのでしょうか。
これが私のコードです:
<script type="text/javascript">
<script type="text/javascript">
var lball = document.getElementById('ball').offsetLeft;
var speed = 500;
function moveleft()
{
if(document.getElementById('ball').offsetLeft >0)
{
document.getElementById('ball').offsetLeft-=1;
setTimeout(moveleft(), speed);
}
else gameover();
}
function playit()
{
score = 0;
setTimeout(moveleft(), speed);
}
</script>
誰かがこれを手伝ってくれますか?ありがとう:)
解決策( Teemu
によって与えられた): 「 編集II」の部分に関する以下のTeemuのコメントを参照してください。
質問3(実際にはコメントで質問しています:P)
を使用して画像の位置を設定しようとするとdocument.getElementById('ball').offsetLeft-=1;
、未定義の値が表示されます。
解決策(Kemal Fadillahによる):「これは、要素の値を設定できないためですoffsetLeft
。新しい位置の値をに設定する必要があります。次の.style.left
ようになります:element.style.left = new_value + "px";
」
質問4(ここでもコメントで質問しています:P) 画像がスムーズに移動しない
ようです(突然別の場所に「ワープ」しているように見えます)。値を上げましたが、まだ機能していません。私はそれで何かが欠けていますか?疑問
に思います。_ 3.」speed
speed