【发布时间】:2012-05-08 05:46:32
【问题描述】:
我今天遇到了一个非常混乱的问题
我有一个画布和一个 div,就像这样
<canvas id="canvas" width="800" height="400"></canvas>
<div id="xy"></div>
然后我通过 css 文件设置 div 的属性,例如位置:绝对和显示:无 然后,我通过 JS 在 div 中写入 X/Y 位置,并尝试设置 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";
现在有趣的是:我可以毫无问题地设置 display 和 backgroundColor,但是 left 和 top 属性不起作用。如果我在我的 HTML 文件中删除我的 DOCTYPE 声明,我可以毫无问题地修改 left 和 top 属性。没有 doctype 的工作当然是不可能的。 我是在做不应该做的事情,还是遗漏了一些完全明显的事情?
【问题讨论】:
-
该代码中的“e”是什么? edit 哦,那是一个事件处理程序。
标签: javascript css html css-position