我试图在按下 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
?
这将需要移动玩家。如果您将其设置为静态
,它就不会移动。
关于javascript - 为什么不能动态更改 css style.left 和 style.top 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23979889/