| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6336 人关注过本帖
标题:怎样获得一个不能预知高度的DIV的高度?
只看楼主 加入收藏
学生哥
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-11-7
收藏
 问题点数:0 回复次数:3 
怎样获得一个不能预知高度的DIV的高度?
例如有这样一个DIV:

<div id="someDiv" style="width:50%"><!--这里面包含一段文字--></div>

这个DIV只设定了宽度,高度根据内容的多少自动调整.应该怎样用javascript来获得这个DIV 的高度呢?

试过这样写:
<script type="text/javascript">
var d=document.getElementById("someDiv");
document.write(d.style.height);
</script>

结果什么也不能输出.

请各位指点一下.谢谢.
搜索更多相关主题的帖子: DIV 高度 预知 
2008-06-13 11:31
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:483
专家分:911
注 册:2005-3-20
收藏
得分:0 
程序代码:
<div id="someDiv" style="width:50%">这里面包含一段文字</div>
<script type="text/javascript">
var d=document.getElementById("someDiv");
document.write(d.offsetHeight);
</script>

世事如潮我如水,只叹江湖几人回。
2008-06-14 13:13
lixingwen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-5-9
收藏
得分:0 
这样能行吗?
2008-06-20 21:28
kingyar
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-4-26
收藏
得分:0 
简单的方法:
通过元素的clientHeight属性能够得到元素的高度,如:
var height = element.clientHeight;

这种做法的局限:
1. 如果元素的display属性设置为none, 那么得到的结果为0
2. 在safari浏览器中,需要使用:element.offsetHeight得到实际高度,这是safari浏览器的bug

下面是Prototype提供的方法,能够兼容各种浏览器,同时在元素隐藏的情况下也能正确得到元素尺寸,供参考:
getDimensions: function(element) {
    element = $(element);
    var display = $(element).getStyle('display');
    if (display != 'none' && display != null) // Safari bug
      return {width: element.offsetWidth, height: element.offsetHeight};

    // All *Width and *Height properties give 0 on elements with display none,
    // so enable the element temporarily
    var els = element.style;
    var originalVisibility = els.visibility;
    var originalPosition = els.position;
    var originalDisplay = els.display;
    els.visibility = 'hidden';
    els.position = 'absolute';
    els.display = 'block';
    var originalWidth = element.clientWidth;
    var originalHeight = element.clientHeight;
    els.display = originalDisplay;
    els.position = originalPosition;
    els.visibility = originalVisibility;
    return {width: originalWidth, height: originalHeight};
  }

另外,在这里有Prototype详细教程与参考手册:http://web.

[[it] 本帖最后由 kingyar 于 2008-6-21 07:56 编辑 [/it]]
2008-06-21 07:52
快速回复:怎样获得一个不能预知高度的DIV的高度?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011542 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved