JS 获取iframe中的div高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 获取iframe中的div高度相关的知识,希望对你有一定的参考价值。

我只知道用window.frames["cwin"].document.getElementById("reg").innerhtml
可以获取到IFrame中id为reg的div内容。
但是使用
window.frames["cwin"].document.getElementById("reg").style.height
却不能获取IFrame中id为reg的div的高度

请问如何获取IFram中div的高度

你的代码写的没有错.
如果我猜得不错的话,你是直接运行的这段代码!
先给你讲原理:
调用DOM对象,必须在页面(框架)完全下载完后才能构建DOM树, 所以我们一般是把这些代码封到一个函数内,再用window.onload来指向.这样解决:
function show()

document.write(window.frames["cwin"].document.getElementById("reg").style.height);

window.onload=show;

也许你会说,那为什么我的innerHTML能获取到呢? 请注意:完全下载!
明白了吧.
参考技术A 你的代码写的没有错.
如果我猜得不错的话,你是直接运行的这段代码!
先给你讲原理:
调用DOM对象,必须在页面(框架)完全下载完后才能构建DOM树, 所以我们一般是把这些代码封到一个函数内,再用window.onload来指向.这样解决:
function show()

document.write(window.frames["cwin"].document.getElementById("reg").style.height);

window.onload=show;

也许你会说,那为什么我的innerHTML能获取到呢? 请注意:完全下载!
明白了吧.
参考技术B window.frames["cwin"].document.getElementById("reg").offsetHeight

如何获取元素距离页面顶部的高度?

1、首先在html页面上,看到有一个按钮,要获得这个按钮离顶部的距离。

2、在按钮的事件函数里,先取这个按钮的offset数据,通过jquery的offset方法。

3、得到的结果是一个数组对象,只要获取里面的top数据就行了。

4、使用log方法,把数据输出到浏览器的控制台。

5、运行页面,看到现在的按钮位置。距离顶部估计是500px左右吧,点击一下这个按钮。

6、然后看一下控制台上的数据,得到距离为439的像素。

参考技术A

1、尺寸函数:height() 获取高度,width() 获取宽度,css获取div宽高:css("height")获取高度,css("width")获取宽度。

2、尺寸函数获取的值为整型,而css获取的值为带px的字符串。

3、两种弹出的值为:div宽:100;div高:100,div宽:100px;div高:100px。

4、设置宽高,使用尺寸函数设置 height(10) width(10)。

5、css("width":"10px","height":"10px")//使用css设置多个属性时,放在大括号中属性间用逗号分隔。

6、animate(width:"10px",height:"10px",4000);//使用animate与css的参数不同之处在于:animate参数的属性名称不需要用引号扩起来。

参考技术B

页面元素距离浏览器工作区顶端的距离  =  元素距离文档顶端偏移值  -   网页被卷起来的高度  

即:

页面元素距离浏览器工作区顶端的距离 =  DOM元素对象.offsetTop -document.documentElement.scrollTop

介绍几个属性:(暂时只测了IE和firefox,实际上工作中用到的最多的是chrome)

网页被卷起来的高度/宽度(即浏览器滚动条滚动后隐藏的页面内容高度)

(javascript)        document.documentElement.scrollTop //firefox

(javascript)        document.documentElement.scrollLeft //firefox

(javascript)        document.body.scrollTop //IE

(javascript)        document.body.scrollLeft //IE

(jqurey)             $(window).scrollTop() 

(jqurey)             $(window).scrollLeft()

网页工作区域的高度和宽度  

(javascript)       document.documentElement.clientHeight// IE firefox       

(jqurey)             $(window).height()

元素距离文档顶端和左边的偏移值  

(javascript)        DOM元素对象.offsetTop //IE firefox

(javascript)        DOM元素对象.offsetLeft //IE firefox

(jqurey)             jq对象.offset().top

(jqurey)             jq对象.offset().left

参考技术C Element.getBoundingClientRect().top + window.pageYOffset

参考技术D

    offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。

    document.getElementById("ID名称").offsetTop这是离顶部的距离。

    可以使用offset()方法来获取元素距离浏览器的边距,offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。

    工具原料:编辑器、浏览器

    <body style="margin: 0;padding: 0;">
    <div style="width: 200px;height: 200px;border: 1px solid red;margin-top:100px;"></div>
    <script>
    alert($('div').offset().top);
    </script>
    </body>

    因为div距离顶部的距离是100像素,所以弹出的应该是100。

以上是关于JS 获取iframe中的div高度的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么获取iframe 的高度?

如何获取iframe里面iframe的高度

如何在js中的iframe中获取div中的文本[重复]

怎样让iframe中的内容的宽度和高度改变后,dialog的宽高自适应?

使用 jQuery 获取 iframe 内元素的高度

js获取iframe和父级之间元素,方法属,获取iframe的高度自适应iframe高度