0

如何使左边距成为变量,以便可以在箭头的键下动态更改它

我正在尝试使名为 tank 的 div 移动。

代码:

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

moveTank();
4

3 回答 3

0
var tankLeft = tank.style.marginLeft;

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

为什么不position:absolute与你lefttop坦克精灵一起使用?

<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>
于 2013-10-15T12:49:45.737 回答
0

你为什么使用保证金?只需移动左侧/顶部位置的水箱:

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

于 2013-10-15T13:01:27.893 回答
0

连字符的样式属性在 js 中得到驼峰式,所以你想要tank.style.marginLeft.

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

于 2013-10-15T12:55:31.170 回答