2015-03-15 5 views
0

Я пытаюсь создать прослушиватель события, который перемещает элемент, где я двигаю мышь, устанавливая свойство объекта CSSStyleDeclaration на элементе:Почему стиль элемента не меняется, когда я назначаю element.style?

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' работает - что я делаю неправильно?

ответ

2

Правила стиля CSS будут назначаться только как значение свойства, если они являются синтаксически действительными - если предполагаемое значение недействительно для рассматриваемого правила CSS, операция будет проигнорирована. Числа для свойств CSS требуют, чтобы суффикс единицы был действительным - в этом случае необходимо указать, что позиции находятся в пикселях. Вместо этого попробуйте evt.clientX + 'px'.

Смежные вопросы