【发布时间】:2018-06-18 05:20:47
【问题描述】:
我正在处理具有多个 iframe 的项目。主 iframe 有页面,页面包含子 iframe,也有页面内容。
在子 iframe 中,我有标签,每个标签都有从服务器动态加载的页面内容。
我正在尝试在页面加载时使用 offset().top 从屏幕顶部获取 div 元素的偏移顶部值。它在使用“重新加载 iframe”重新加载子 iframe 时返回一些值,但在重新加载页面时返回“0”。
我在此附上我正在尝试做的图片,请检查,如果我没有清楚地解释我上面的问题。
我尝试了这段代码并将这段代码放在 $(document).ready(){} 中,它在重新加载特定 iframe 时工作正常。但在加载时返回 0。
var $stored_selector = $('#displayMedsdetail');
var offset = $stored_selector.offset(), remaining_height;
console.log(offset.top);
谁能帮我看看为什么重新加载页面时 offset().top 返回 0?
【问题讨论】:
-
您使用哪个事件来获取
offset值....?正确的事件很重要,否则您将获得未定义或 0 值。 -
@KickyTrick 你什么时候调用上面的 JS 代码?可能是 iframe 未加载。
-
@TusharAcharekar,似乎在没有页面代码的情况下编写答案很难,但请确保您在子 iframe 中的
document.ready中编写代码,如果它不适用于测试,请执行以下操作:写您在function中获取偏移代码并使用document.ready中的计时器运行它,如下所示:setTimeout(function(){ getOffset(); }, 3000);并让我知道它的结果。 -
我已经尝试通过将代码放入准备好的文档中来获取偏移值,但它仍然返回值 0。
标签: javascript jquery html iframe