2017-12-08 9 views
0

画像は一度正しく左に移動しますが、後でもう一度Enterキーを押すと移動しません。私はそれを入力するたびに10ピクセル多く左に移動するように探しています。上記のコードのおかげでEnterキーを押すたびに画像を左に移動

document.body.addEventListener("keydown", function (event) { 
     if (event.keyCode === 13) { 

     document.getElementById("wagon").style.left=-10 + "px"; 
    } 
    }); 

答えて

0

する必要があり、そうleftは常に-10pxだろう。 leftから番号を抽出し、10を減算して変更を加える必要があります。

これは仕事をします。

var leftStr = document.getElementById("wagon").style.left; 
var indexOfpx = leftStr.indexOf("px"); 
var num = leftStr.substring(0, indexOfpx); // extract the number part 
var leftPx = Number(num) - 10 + "px"; 
document.getElementById("wagon").style.left = leftPx; 
+0

うれしいことは... –

0

が、それはあなただけの要素にあなたがKeyDownイベントでしたたびに-10px割り当てられたので、それがあった

document.getElementById("wagon").style.left -= 10 + "px"; 
+0

これは機能しません。この ' - = '演算子の使用は' ... .left = ... .left - (10 + "px") 'に展開されます。しかし '10 +" px "'は文字列です。 '0'のような数字から文字列' '10px ''を引くことはできません。 –

関連する問題