当我按下按键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);
}
});
});
答案 0 :(得分:1)
您是否在播放器对象上设置了position: relative
?
移动玩家需要这样做。如果您将其设置为static
,则不会移动。
答案 1 :(得分:0)
将其放在moveObj
中,看看它是否真正被调用:console.log(arguments);
。使用单位设置新值,即obj.style.left = xp + 'px';
。同时确保您更改位置的元素具有position
属性,您可能正在寻找position: absolute;
。将HTML添加到帖子中会有所帮助。