尝试上下移动 div 时出现问题



当我使用以下代码单击箭头键时,我正在尝试将带有类playerdiv上下移动:

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,以便用户可以按住该键并使其运行更流畅:

小提琴

最新更新