DIV里嵌套Iframe,让Iframe及DIV高度一起随内容自适应高度问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DIV里嵌套Iframe,让Iframe及DIV高度一起随内容自适应高度问题相关的知识,希望对你有一定的参考价值。

假设:
Div ID为:A 宽度750 高度600
Iframe ID为 B 长和宽撑满 A
Iframe里显示的是http://www.baidu.com这个页面

求随内容自适应高度代码,不要出现滚动条~
拜托~

<div id="me_use" class="ption_a" style="height: 100%; overflow-y: scroll; overflow-x: hidden;">
<div style="width:100%,height:auto;"> --海狗商城--</div>

<div style="height:100%     <iframe style="width:100%;height:100%;frameborder:0; scrolling:no;top:0;left:0" id="jinshi_data" src="https://www.baidu.com/s?wd=%E6%B5%B7%E7%8B%97%E5%95%86%E5%9F%8E%E8%A7%86%E9%A2%91%E7%9B%B4%E6%92%AD%E4%BB%A3%E8%B4%AD&tn=87048150_dg&ie=utf8
"></iframe>
</div>  
</div>

上面是自适应的,支持滚轮,美中不足是最里层iframe的滚动条没去成功。

参考技术A #Awidth:750px;height:600px;position:relative
#Bwidth:100%;height:100%;position:absolute;left:0;top:0

iframe id=B scrolling=no追问

不行,不知道是否哪里出错了还是?

追答

你需要的是那个部分自适应高度?

你的外层div 需要固定高度,那Iframe呢?

追问

你好,我想Iframe及其内容超过DIV设定高度时,DIV随IFRAME及内容一起自适应。

我是个新手~求教~

追答

这个就比较麻烦了。
需要通过JS来做了。

首先,你需要在iframe内部获取iframe的高度,然后把这个高度值传到Iframe的外层页面
再通过JS 分别设置 div 和 iframe的高度。

这样,Iframe内部有多高,外层就有多高,这就实现了高度自适应。
具体代码我在这里就不演示了,很简单的,用jquery 先获取 body.height(), 然后再window parent 查找#A,#B 分别设置高度

我给你找了一个实例:

你可以看一下

http://www.cnblogs.com/luluping/archive/2009/04/17/1437843.html

本回答被提问者采纳
参考技术B #Awidth:750px;height:600px;position:relative
#Bwidth:100%;height:100%;position:absolute;left:0;top:0

iframe id=B scrolling=no

为啥页面加载多个iframe和div运行速度超慢?

一个页面里加载多个层,每个层里还有一个iframe,为什么静态页面的远行速度都超级慢?具体代码如下:
<div id="name" class="divWin">
<div class="title">
<div class="left iconNote">加载层的标题</div>
<div id="btnClose" class="right" style=" cursor:pointer">返回>>  </div>
</div>
<div class="height800px" >
<iframe id="note" src="iframe.html" width="100%" height="600" frameborder="0" allowTransparency="true" scrolling="no"></iframe>
</div>
</div>
<SCRIPT LANGUAGE="JavaScript">
$("#btnOpen").click(function()
$("#name")
.animate(

right: "0"
,duration:1000,queue:true)

);
$("#btnClose").click(function()
$("#name")
.animate(

right: "-100%"
,duration:1000,queue:true)

);
</SCRIPT>
也就是同一个页面中调用了有7、8个,结果不管在IE6还是IE8\9中运行,速度都是超级的慢!

参考技术A div没有听说有慢的,只有iframe加载慢,你应该想办法让iframe后加载进来,可以明显提高速度了本回答被提问者采纳

以上是关于DIV里嵌套Iframe,让Iframe及DIV高度一起随内容自适应高度问题的主要内容,如果未能解决你的问题,请参考以下文章

div中镶嵌一个iframe,怎么让iframe的滚动条不起作用,而div的滚动条起作用

如何在一个html页面内的div里嵌入一个html页面

iframe加载一个页面,在子页面中使用js 控制父页面的div显示(父页面的div刚开始是隐藏)

去滚动条 DIV 嵌套iframe,iframe 里转一个放flash的页面。在页面显示层的时候 有滚动条而且四周还有空白

为啥页面加载多个iframe和div运行速度超慢?

如何让div中iframe一起滚动