经过一些简化后,问题是当用户单击第一个图像时,我不知道如何在另一个图像上设置图像。在 this fiddle 中更容易看到这一点.
有什么问题吗?我相信问题出在“相对”div#problem 元素。如果您从 CSS 中删除“position:relative”,一切都会正常,但我需要这里的相对值。
另外,我注意到,如果我将“pin 容器”更改为替代容器(直接从 HTML 标记挂起),一切都会正常工作,但我需要在相对 DIV。
真正的问题是什么?我认为 .offset()
会给我相对于文档的位置,如 documentation 中所述。和.offset(坐标)
也会做同样的事情。
注意:这个想法是黑框应该出现在与大图像相同的坐标中,但它似乎放错了位置。
注意2:我不知道这是否是问题所在,但我正在使用 Chrome 和 Firefox 运行 Ubuntu Linux。两种浏览器都显示黑框放错了位置。
注3:目标是获取大图像的坐标,并使用绝对
定位在同一位置设置一个小框。抱歉,没有像为黑框设置与大图像相同的边距
之类的技巧。
最佳答案
.offset()
查找元素相对于文档的位置。您似乎想使用 .position()
来查找 relative
容器内的位置。
参见http://jsfiddle.net/T7czp/200/
您还需要应用原始图像的边距,并使用 .css()
应用新尺寸
关于jquery - 如何在相对元素上设置绝对位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805175/