如何将左边距变为变量,以便我可以在箭头的keydown上动态更改
我正试图将div称为坦克移动。
代码:
function moveTank() {
var tank = document.getElementById("tank");
var tankLeft = tank.style.margin-left;
}
moveTank();
答案 0 :(得分:0)
var tankLeft = tank.style.marginLeft;
注意:它仅适用于内联指定边距 - <img id="tank" src="..." style="margin-left:10px">
为什么不将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>
答案 1 :(得分:0)
连字符样式属性在js中获取camelCased,因此您需要tank.style.marginLeft
。
另请注意 1)该方法只读取直接在元素上设置的样式属性,而不是样式表中的样式属性 2)它将是一个字符串,“或”或“123px”
答案 2 :(得分:0)
你为什么要使用保证金?只需向左/顶部位置移动油箱:
尝试tank.css({left: "-=10px"});