将javascript变量设置为边距

时间:2013-10-15 12:47:41

标签: javascript

如何将左边距变为变量,以便我可以在箭头的keydown上动态更改

我正试图将div称为坦克移动。

代码:

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

moveTank();

3 个答案:

答案 0 :(得分:0)

var tankLeft = tank.style.marginLeft;

注意:它仅适用于内联指定边距 - <img id="tank" src="..." style="margin-left:10px">

为什么不将position:absolutelefttop一起用于您的坦克精灵?

<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>

答案 1 :(得分:0)

连字符样式属性在js中获取camelCased,因此您需要tank.style.marginLeft

另请注意 1)该方法只读取直接在元素上设置的样式属性,而不是样式表中的样式属性 2)它将是一个字符串,“或”或“123px”

答案 2 :(得分:0)

你为什么要使用保证金?只需向左/顶部位置移动油箱:

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