据我所知,定位必须是绝对的。静态和固定与期望的行为是不相容的,并且相对非常困难,因为1.我不知道下一个"普通"定位将是和2.如果学生删除一个点,它会变得更复杂。所以,绝对是。
然后定位应该是相对于div coordDiv的绝对值,经过一段时间后我甚至想出了如何给div一个具体的维度(通过它有点静态,在klausur.js中使用adjustCoordDiv()的方法没有工作)。但是,如果我调整浏览器的bounderies,div和图形会徘徊(因为它们居中),但重点并非如此。 需要修复。
现在我已经完全放弃了处理缩放的练习,并且阅读了如何将缩放的确认混淆在不同的浏览器中,但是如果你也为此提供了解决方案,那么我的赞美将无止境
答案 0 :(得分:0)
定位是相对于HTML中的一些包含元素的元素。如果没有任何此类元素,则定位与文档的主体相关(如您的情况)。 定位基本上意味着在CSS中应用了其他position
而不是static
。
所以你基本上需要将点击点从属于包含整个坐标系的DIV(就像你现在一样)。那个div应该有
position:relative
没有重新定位位置并开始使用
的新“本地坐标系”position:absolute
任何从属元素。
点击时,需要将该点击的坐标从全局坐标空间转换为本地坐标空间。这可以通过使用每个传递元素的属性offsetParent
,offsetTop
和offsetLeft
从点击元素迭代到文档元素来实现。