我试图按w,a,s和d键移动图像,但是什么也没有发生,并且控制台中也没有任何显示。任何帮助或建议,将不胜感激。

var moveBy = 10;
function moveObj(name, xPix, yPix)
{
    var obj = document.getElementById(name);
    var xp = parseInt(obj.style.left) + xPix;
    var yp = parseInt(obj.style.top) + yPix;
    obj.style.left = xp;
    obj.style.top = yp;
}
$(document).ready(function()
{
    $('body').keydown(function(e)
    {
        if(e.keyCode == 68)
        {
            moveObj('player', moveBy, 0);
        }
        else if(e.keyCode == 65)
        {
            moveObj('player', -moveBy, 0);
        }
        else if(e.keyCode == 87)
        {
            moveObj('player', 0, -moveBy);
        }
        else if(e.keyCode == 83)
        {
            moveObj('player', 0, moveBy);
        }
    });
});

最佳答案

您是否在播放器对象上设置了position: relative

这将需要移动播放器。如果将其设置为static,它将不会移动。

关于javascript - 为什么不动态更改css style.left和style.top工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23979889/

10-12 13:06
查看更多