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

时间:2014-12-27 06:11:47

标签: javascript html css smooth-scrolling

当我使用此代码点击箭头键时,我试图将div与班级player一起向上和向下移动:

的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发生故障!

第二个问题,即div的移动并不顺畅

1 个答案:

答案 0 :(得分:2)

您正在调用错误的运营商,而您正在尝试评估=而不是===。 (仅供参考,除非您希望按下时div向上移动,否则可能会反转按键)因为它不顺畅,因为您正在触发功能onkeyup表示用户必须在移动触发之前释放键。请改用onkeydown,以便用户按住该键并使其运行更顺畅:

FIDDLE