【问题标题】:jQuery Offset wrong on refresh of page刷新页面时jQuery偏移量错误
【发布时间】: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


【解决方案1】:

$(window).load 事件中尝试,而不是$(document).ready

我有同样的问题,可以用这个技巧解决它!

【讨论】:

  • 非常感谢您的回答。它解决了我的问题!
猜你喜欢
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 2013-07-12
相关资源
最近更新 更多