当我分配给element.style时,为什么我的元素风格没有变化?

时间:2015-03-15 13:56:24

标签: javascript html css dom

我尝试编写一个事件监听器,通过在元素上设置CSSStyleDeclaration对象的属性来移动我移动鼠标的元素:

var overlay = document.getElementById('overlay');
document.body.addEventListener('mousemove',function moveOverlay(evt){
  overlay.style.left = evt.clientX;
  overlay.style.top = evt.clientY;
});

但是,每次对style属性的赋值运行后,该值(在调试器中检查)都不会更改 - 它仍然是默认的空字符串值''。像overlay.style.color = 'blue'这样的变化有效 - 我做错了什么?

1 个答案:

答案 0 :(得分:2)

如果CSS样式规则在语法上有效,则它们将仅被指定为属性值 - 如果预期值对于所讨论的CSS规则无效,则将忽略该操作。 CSS属性的数字需要单位后缀才有效 - 在这种情况下,需要指定位置在像素中。请改为evt.clientX + 'px'