如何将一个元素的移动构造复制到另一个元素?的JavaScript

时间:2017-04-05 07:39:47

标签: javascript

以下是基于左,右,上或下移动的框的示例 按下箭头键。但是当我添加一个" 激光"和使用 完全相同的原理/代码,使用" laserLeft ++ ;"从左到右移动激光。空格键,它不会移动。我非常 仔细复制了" square"的代码。适用于激光和 我找不到为什么没有动静。 (我没有复制并粘贴整个视图源,因为它与问题无关)。

具体功能问题是 fireLaser()

#square {
position: absolute;
top: 0px;
left: 0px;
height: 5px;
width: 5px;
background-color: white;
}
#laser {
postion: absolute;
top: 0px;
left 0px;
height: 2px;
width: 5px;
background-color: red;
}

<script>
document.addEventListener("keydown", keyBoardInput);

var boxTop = 0;
var boxLeft = 0;
var laserTop = 0;
var laserLeft = 0;


function moveBoxUp(){
var square = document.getElementById("square");
boxTop--; 
square.style.top = boxTop;

};
function moveBoxDown(){
var square = document.getElementById("square");
boxTop++;
square.style.top = boxTop;

};
function moveBoxLeft(){
var square = document.getElementById("square");
boxLeft--;
square.style.left = boxLeft;

};
function moveBoxRight(){
var square = document.getElementById("square");
boxLeft++;
square.style.left = boxLeft;

};
function fireLaser(){
var laser = document.getElementById("laser");
laserLeft++;
laser.style.left = laserLeft;   
};

var i = event.keyCode;
if(i == 38){
moveBoxUp();
};

if(i == 40){
moveBoxDown();
};

if(i == 37){
moveBoxLeft();
};

if(i == 39){
moveBoxRight();
};

if (i == 32){
fireLaser();
};

};
</script>

1 个答案:

答案 0 :(得分:0)

我发现了我的错误!它输入错误&#34; postion:absolute;&#34;现在它完美无缺!!!