【问题标题】:jQuery position()/offset() value error on reload (chrome)重新加载时的jQuery位置()/偏移()值错误(chrome)
【发布时间】:2016-04-13 12:46:06
【问题描述】:

我在 wordpress 中的悬停/当前菜单项上制作了一个带有后置移动 div 的菜单。

JsFiddle:https://jsfiddle.net/wwv9c0v7/

问题:一切正常,除非我重新加载页面 (F5)。单击带有新页面的链接也很有效。我不知道为什么,但是 position().left 返回一个错误的值。它向左移动了太远。

$magicLine.css("left", $(".current-menu-item").position().left)

感谢您的帮助。

编辑:Live preview

~内梅

【问题讨论】:

  • 我无法复制您描述的场景,请您澄清一下。
  • #magicline 的 background-div(在最后一个
  • 的菜单中)在悬停时向左/向右移动。如果我单击不同的菜单项页面,则当前活动菜单项是此 div 元素上的停留位置。问题是:在谷歌浏览器中,如果我在(f.e.)第四个菜单页面并按 F5(重新加载页面),#magicline 的左值错误(定位错误)。它与错误的 jquery 缓存有关吗?只需在 chrome 中打开实时预览,转到菜单“anfahrt”并按 F5。现在你看到了斗争。

标签: javascript jquery css google-chrome


【解决方案1】:

我设法看到了您的问题,但正如以下文档所指,浏览器不会公开其 API 来检测缩放情况,当您刷新具有不同大小的页面时,您可以在以下情况下观察该行为页面正在加载,它以不同的大小开始(我假设页面的大小更大,因为滚动条是在页面之后加载的,所以这会使页面改变它的大小)。

文档:https://api.jquery.com/position/

尝试在 jquery 方法中进行此操作:$(document).ready(...)这样做可以确保该函数将在页面加载后始终执行。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签