图像正确地向左移动,但之后我再次按回车它不会移动。每次按回车键时,我都在寻找它向左移动10个像素。感谢
document.body.addEventListener("keydown", function (event) {
if (event.keyCode === 13) {
document.getElementById("wagon").style.left=-10 + "px";
}
});
答案 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;