每次按enter键都会向左移动图像

时间:2017-12-08 23:03:29

标签: javascript

图像正确地向左移动,但之后我再次按回车它不会移动。每次按回车键时,我都在寻找它向左移动10个像素。感谢

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

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

2 个答案:

答案 0 :(得分:0)

在上面的代码中,它应该是

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

答案 1 :(得分:0)

这是因为您每次进行keydown时都只为元素分配了-10px,因此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;