【发布时间】:2020-01-16 06:31:31
【问题描述】:
这是我的密码笔:https://codepen.io/apasric4/pen/qBWyqqb
这是导致我出现问题的代码:
const moveBlock=()=> {
let x=myBlock.offsetLeft;
let y=myBlock.offsetTop;
keyArray.forEach(key=> {
if (key==='ArrowRight') {
myBlock.style.left=`${x+50}px`
} else if (key==='ArrowLeft') {
myBlock.style.left=`${x-50}px`
} else if (key==='ArrowDown') {
myBlock.style.top=`${y+50}px`
} else if (key==='ArrowUp') {
myBlock.style.top=`${y-50}px`
}
})
}
我将简要解释一下我的程序:
程序将启动您按左、右、上或下 - 这些命令显示为文档顶部的列表。然后按回车
当按下回车键时,程序会遍历键盘方向数组,块根据数组中的命令向指定方向移动。每个箭头方向都有一个条件,可以将块移动 50 像素。这是一个序列,所以我们应该看到发生。
但是,该块仅向右或向左移动 50px 等,仅移动一次。这是为什么?我没有正确迭代我的 x 和 y 变量吗?
【问题讨论】:
标签: javascript css keyboard position keycode