将javascript变量设置为边距

将javascript变量设置为边距,javascript,Javascript,如何将左边距设置为变量,以便在箭头的向下键上动态更改 我正试着让一个叫tank move的小分队 代码: function moveTank() { var tank = document.getElementById("tank"); var tankLeft = tank.style.margin-left; } moveTank(); 注意:它仅适用于内联指定的边距- 为什么不为你的坦克精灵使用position:absolute和left和top <div id=

如何将左边距设置为变量,以便在箭头的向下键上动态更改

我正试着让一个叫tank move的小分队

代码:

function moveTank() {
  var tank = document.getElementById("tank");
  var tankLeft = tank.style.margin-left;    
}

moveTank();
注意:它仅适用于内联指定的边距-

为什么不为你的坦克精灵使用
position:absolute
left
top

<div id="tankfield" style="position:relative">
  <img id="tank" src="..." style="position:absolute;left:0px;top:0px">
</div>
<script>
  var tankX=0, tankY=0;
  function placeTank() {
    var tank = document.getElementById("tank");
    tank.style.left = tankX+'px';
    tank.style.top  = tankY+'px';
  }
  // ...
  function tankDown() {
    tankY += 5;
    placeTank();
  }
  // ...
</script>

var tankX=0,tankY=0;
函数placeTank(){
var tank=document.getElementById(“tank”);
tank.style.left=tankX+'px';
tank.style.top=tankY+'px';
}
// ...
函数tankDown(){
tankY+=5;
placeTank();
}
// ...

连字号样式属性在js中使用camelCased,因此您需要
tank.style.marginLeft

还要注意 1) 该方法只读取直接在元素上设置的样式属性,而不读取样式表中的样式属性,以及
2) 它将是一个字符串,可以是“”,也可以是类似于“123px”的字符串。

为什么要使用边距?只需将油箱移到左/顶位置:


尝试
tank.css({left:'-=10px})

刚刚尝试了这个,然后尝试了警报(Tanklef),结果显示为空。这是我在警报中做错了什么,还是我在代码中做错了什么?这取决于样式设置的位置。以下内容仅适用于内联样式。如果尚未在内联中设置该值,则首先需要设置该值。我已在CSS中设置了该样式。不过,我可以在JavaScript中进行设置,我想我正在做的事情最好怎么做?
tank.style.marginLeft=“0px”带有破折号的CSS样式属性在JavaScriptCase中的作用OP在哪里提到jQuery?
<div id="tankfield" style="position:relative">
  <img id="tank" src="..." style="position:absolute;left:0px;top:0px">
</div>
<script>
  var tankX=0, tankY=0;
  function placeTank() {
    var tank = document.getElementById("tank");
    tank.style.left = tankX+'px';
    tank.style.top  = tankY+'px';
  }
  // ...
  function tankDown() {
    tankY += 5;
    placeTank();
  }
  // ...
</script>