这是我的代码无效
function gauche() {
var voiture = document.getElementsByClassName("voiture")[0];
var position = window.getComputedStyle(voiture).left;
alert(position);
position = parseInt(position, 10) - 30 + "px";
alert(position);
}
我想将“voiture”位置向左移动30px。所以我想从这个位置减去30。 这个警报很好30px,然后这个警报好0px(因为30 - 30 = 0) 但不幸的是,它没有在我的页面上更新。我的“voiture”div总是30 px而不是宽度0px。感谢
答案 0 :(得分:2)
使用voiture.offsetLeft;
代替window.getComputedStyle(voiture).left;
,因此您无需解析它。
HTMLElement.offsetLeft只读方法返回的数量 当前元素左上角偏移的像素 HTMLElement.offsetParent节点内的左侧。
并简单地设置位置:voiture.style.left = voiture.offsetLeft - 30 + 'px';
答案 1 :(得分:0)
您需要使用DOM元素的style
属性:
voiture.style.left = parseInt(position, 10) - 30 + "px";
此外,您的代码中存在一个非常错误的假设:您认为将当前left
值设置为局部变量会将其值绑定到该元素,而这会赢得& #39; t发生。每当您想要更改DOM元素(并且这适用于其任何属性)时,您需要再次设置其属性,而不是假设更改局部变量将更改元素。