Jquery 为什么立场没有改变?那么,我该如何改变它呢?

Jquery 为什么立场没有改变?那么,我该如何改变它呢?,jquery,positioning,Jquery,Positioning,我有一个日历页,我正试图定位事件。与您看到的大多数javascript日历(googlecalendar等)不同,日历上有动态内容,其大小根据ajax调用而波动。因此,我需要一个函数,当页面大小改变时,我可以调用该函数在日历上定位事件。第一步,我在页面上绘制一些静态div,然后在页面加载时尝试将它们放置在日历上。事件应该在日历上方浮动,事件顶部与它浮动的日历单元格对齐 我在JSFIDLE上有代码: 自从JSFIDLE死后,代码也在这里: 运行脚本后,当我在chrome中检查div时,它会说顶部和

我有一个日历页,我正试图定位事件。与您看到的大多数javascript日历(googlecalendar等)不同,日历上有动态内容,其大小根据ajax调用而波动。因此,我需要一个函数,当页面大小改变时,我可以调用该函数在日历上定位事件。第一步,我在页面上绘制一些静态div,然后在页面加载时尝试将它们放置在日历上。事件应该在日历上方浮动,事件顶部与它浮动的日历单元格对齐

我在JSFIDLE上有代码: 自从JSFIDLE死后,代码也在这里:


运行脚本后,当我在chrome中检查div时,它会说顶部和左侧的坐标是正确的,但div没有定位在日历上。我做错了什么?我该怎么做呢?

您使用的是
位置:绝对
。除非事件的其他父元素列为position:relative,否则这意味着事件的位置是相对于整个文档的左上角的。尝试将日历包装在一个普通的div中,即
位置:relative
,然后将事件插入该div中,使其绝对位于div上,而不是文档上。

Fiddle现在似乎有问题,但通常情况下,如果某个元素的坐标“正确”,但该元素显示在错误的位置,您的定位设置不正确,并且相对坐标与您期望的不一致。与其定位,不如使用DOM注入,让您的事件成为相应的容器元素的子元素?谢谢,Marc。我怀疑这是真的,但我不太明白。下面是其他地方的代码:啊,关于子元素,这不起作用,因为日历事件需要浮动几个小时,这取决于事件的长度。我确实加载了一部分fiddle,而您使用的是
位置:绝对
。除非事件的其他父元素列为
position:relative
,否则这意味着事件的位置相对于整个文档的顶部/左侧。尝试将日历包装在一个普通的div中,即position:relative,并将事件插入该div中,以便它们绝对位于div上,而不是document.Bingo上。马克,你能把你最后的回答改成回答而不是评论吗?这样我就可以接受了?