我正在尝试计算iframe需要完全显示的最小高度。
为了实现这一点,我尝试了以下方法:
var neededSize = $(window.document).height();
// Get the jquery of the parent in order to resize the frame
var par = window.parent;
if(par != null) {
var jq = par.jQuery;
var frameParent = jq('#' + window.frameElement.id);
frameParent.height(neededSize);
}
这种方法的问题是iframe包含一些隐藏元素(display:none;)。当我使用jQuery.height()时,它返回所需的最小高度,包括隐藏元素。
有没有人知道通过jquery或标准javascript获取最小高度的方法,不包括隐藏div的高度,或者我应该自己计算? (获取所有隐藏的字段并减去每个高度?)
答案 0 :(得分:0)
尝试将其包装在文档就绪处理程序中:
$(function(){
//your code here
});
文档:
传递给.ready()的处理程序保证在DOM准备好后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置。使用依赖于CSS样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素非常重要。
因此代码将在呈现所有DOM元素之后执行。并且可能高度与隐藏元素一致。 (它们可能会在瞬间显示,因为.css仍在加载)