当前位置:  开发笔记 > 前端 > 正文

用jQuery控制iframe高度

如何解决《用jQuery控制iframe高度》经验,为你挑选了2个好方法。

我使用jQuery来控制iframe的高度.

jQuery("iframe",top.document).contents().height();  

这在iframe的高度增加时有效.当高度降低时,它不起作用.它仅返回旧值.为什么会这样?



1> 小智..:

我使用以下,它完美地工作......

$("#frameId").height($("#frameId").contents().find("html").height());

当然只是在它被调用时(没有"自动调整大小")......但它的工作量随着减少而增加


我不认为这适用于**跨域**.如果您有解决方案,请帮忙.

2> Jose Basilio..:

它适用于我如果我设置并检索它而不使用.contents().请参阅下面的示例.

function changeFrameHeight(newHeight){
  jQuery("iframe",top.document).height(newHeight);
  alert("iframe iframe",top.document).height());
}

编辑:如果我理解正确,你试图通过调用增量去除滚动条,并通过调用减量返回到原始高度.

在不同浏览器上进行多项测试之后.这是在FF,IE,Chrome,Safari和Opera中运行的代码.

//first declare a variable to store the original IFrame height.
var originalHeight = $("iframe",top.document).height();

更改heightIncrement函数以使用以下内容:

heightIncrement:function(){
 var heightDiv = jQuery("iframe",top.document).contents().find('body').attr('scrollHeight'); 
 jQuery("iframe",top.document).css({height:heightDiv});
}

更改heightDecrement函数以使用以下内容:

heightDecrement:function(){
 jQuery("iframe",top.document).css({height:originalHeight});
}

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有