【发布时间】:2012-10-12 04:47:27
【问题描述】:
我正在使用 jQuery 偏移函数将绝对定位的 DIV 放置在锚元素上。
$("#marker1").offset({ top: $("#<%= hypHowItWorks.ClientID %>").offset().top, left: $("#<%= hypHowItWorks.ClientID %>").offset().left });
$("#marker1").width( $("#<%= hypHowItWorks.ClientID %>").outerWidth() );
当页面加载时,这工作正常,但是,如果我通过按 F5 重新加载页面,它会显示 DIV 稍微偏离它应该在的位置。如果我然后在浏览器中返回页面,它会再次出现在正确的位置!!
这是最新的 Chrome 和 Firefox 的问题,但不是 IE9。
有什么想法吗?
克里斯。
【问题讨论】:
-
你的脚本在
$(document).ready回调里面吗? -
很难reproduce那个错误,但是你可以在Firefox中打开页面并按下
Ctrl+Shift+i,将鼠标悬停并点击那个#marker然后你将会看到,哪个样式属性发生了变化以及为什么它变得稍微偏移了。 -
嗨 Stano,刷新时锚点没有任何变化
-
似乎如果我放大和缩小(CTRL-CURSORUP/DOWN),DIV 也会相对于基础锚点移动。我显然没有做对,但我不知道我做错了什么!
标签: jquery positioning