当我使用以下代码单击箭头键时,我正在尝试将带有类player
的div
上下移动:
JavaScript
var playerPosition = 0;
window.onkeyup = function(e) {
var key = e.keyCode ? e.keyCode : e.which;
if(key = 38) {
playerPosition += 10;
} else if(key = 40) {
playerPosition -= 10;
}
var players = document.getElementsByClassName('player');
for(var i = 0; i < players.length; i++)
players[i].style.marginTop = playerPosition+"px";
}
问题是当我按下任何键时,div
都会下降!
- http://jsfiddle.net/b5eaey58/
第二个问题是div的运动不顺畅
你调用了错误的运算符,你正在尝试计算=
而不是===
。(仅供参考,除非您希望在按下时div
上升,否则您可能会将键反转)因为它不流畅,这是因为您正在触发函数onkeyup
这意味着用户必须在移动触发之前释放密钥。请改用onkeydown
,以便用户可以按住该键并使其运行更流畅:
小提琴