我所要做的只是簡單地使用我的箭頭鍵在屏幕上移動div。我完全是JavaScript的新手,我寫的東西好像應該可以工作,但事實並非如此。每個keyUp都會根據原始位置移動div,而不是div的當前位置。有什麼我失蹤?使用基調來改變使用JavaScript的絕對位置
CSS: #pawn { position:absolute; left:0; top:0; width:50px; height:50px; }
的JavaScript
function showKeyCode(e) {
var pawn = document.getElementById("pawn");
if(e.keyCode == "37") {
console.log("left");
pawn.style.left = -50+"px";
}
if(e.keyCode == "38") {
console.log("up");
pawn.style.top = -50+"px";
}
if(e.keyCode == "39") {
console.log("right");
pawn.style.left = +50+"px";
}
if(e.keyCode == "40") {
console.log("down");
pawn.style.top = +50+"px";
}
}
HTML:
<body onKeyUp="showKeyCode(event);">
<div id="pawn"></div>
</body>
任何人都可以照這個一些啓示?我被困了好幾個小時。
我沒有你所說的,問什麼你可以在這裏看到,它不再動作? http://jsfiddle.net/yG6fa/ – Ellenbrook
你需要檢查初始默認(空)樣式值,例如'if(pawn.style.left ==='')pawn.style.left = 0;' - it現在作品 - http://jsfiddle.net/yG6fa/2/ – helion3
謝謝。我試圖做到這一點,但做得不對。 :) – Ellenbrook