Javascript - 如何设置属性工作?

时间:2015-10-24 14:35:15

标签: javascript

这是我的代码无效

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。感谢

2 个答案:

答案 0 :(得分:2)

使用voiture.offsetLeft;代替window.getComputedStyle(voiture).left;,因此您无需解析它。

  

HTMLElement.offsetLeft只读方法返回的数量   当前元素左上角偏移的像素   HTMLElement.offsetParent节点内的左侧。

并简单地设置位置:voiture.style.left = voiture.offsetLeft - 30 + 'px';

offsetLeft doc

element.style.left doc

答案 1 :(得分:0)

您需要使用DOM元素的style属性:

voiture.style.left = parseInt(position, 10) - 30 + "px";

此外,您的代码中存在一个非常错误的假设:您认为将当前left设置为局部变量会将其值绑定到该元素,而这会赢得& #39; t发生。每当您想要更改DOM元素(并且这适用于其任何属性)时,您需要再次设置其属性,而不是假设更改局部变量将更改元素。