jquery - 如何在相对元素上设置绝对位置?

标签 jquery html css offset

经过一些简化后,问题是当用户单击第一个图像时,我不知道如何在另一个图像上设置图像。在 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/

相关文章:

html - 固定图像背景

html - 使 img 高度适合表格的第二个单元格,该单元格具有动态高度

html - 延伸到页面高度的::after 和::before 伪元素的背景图像

javascript - 当引用的元素不在视口(viewport)中时,jQuery BeautyTips 会将气泡堆叠在一起

带有 JQGrid 的 jQuery 验证插件?

python - 将数据从 jquery success 填充到模态时出现问题

angularjs - 没有 DOCTYPE 的 HTML 注释

javascript - 在 firefox 浏览器上隐藏占位符测试 onfocus

javascript - 如何在不突出显示/选择文本的情况下单击其中包含文本的 div

html - @font face css 规则在我的网站上被所有浏览器忽略。请帮我