Невозможно установить css-свойства div.style.left и div.style.top через JavaScript

Сегодня я столкнулся с очень запутанной проблемой

У меня есть холст и элемент div, подобный этому

<canvas id="canvas" width="800" height="400"></canvas>
<div id="xy"></div>

Затем я установил свойства div через файл css, например положение :абсолютное и отображение :нет Затем я пишу позицию X/Y в div через JS и пытаюсь установить свойства div так, чтобы div следовал за мышью, вот так

var div = document.getElementById("xy");
var x = e.pageX - this.offsetLeft - 1;
var y = e.pageY - this.offsetTop - y0 - 0.5;
div.style.display = "block";
div.style.left = e.pageX + 25;
div.style.top = e.pageY -10;
div.style.backgroundColor = "#f00";

Самое смешное, что теперь :я могу настроить отображение и backgroundColor без проблем, но свойства left и top не работают. Если я удалю объявление DOCTYPE -в своем HTML-файле, я смогу без проблем изменить свойства left и top. Разумеется, о работе без doctype не может быть и речи. Я делаю что-то, чего делать не следует, или упускаю что-то совершенно очевидное?

8
задан Ramon Wenger 27 April 2012 в 13:13
поделиться