0

在以下站点上遇到了 Pjax 片段的难题:

https://dl.dropboxusercontent.com/u/65752410/map.html

目前,单击导航中的“计划”和“地图”链接将通过 Pjax 以及一些条件 JavaScript 加载页面片段,由 requirejs 提供。

在“地图”页面上,第一次加载页面时会正确计算每个元素的宽度与一个类.side-panel。然而,后续加载将返回 0 的宽度,尽管当查询宽度时所选元素存在于 DOM 中。

要重现错误:

  1. 等到地图加载
  2. 单击“计划”链接以加载计划页面
  3. 单击“地图”链接以加载地图页面。每个的宽度.side_panel将记录为 0。

如果您在此测试期间保持控制台打开,您将看到在页面加载时记录了正确的宽度,计划页面在第二步中动态加载,然后地图页面与.side_panelDOM 中的元素一起加载,但是返回宽度为 0。

4

1 回答 1

6

如果您查看控制台,面板 div 没有offsetParent,这意味着它还没有插入到 DOM 中,这意味着宽度将为 0。

于 2013-08-27T04:31:49.793 回答