我想知道是否有任何方法可以以像素为单位获取div高度,尽管其高度较早设置为100%高度。
这是必需的,因为div内容是动态的,所以div高度根据内容本身具有不同的值。尽管其高度设置为100%,但以高分辨率获取div高度
[编辑] Div默认是隐藏的。
我需要以像素为单位获取div高度以供后期操作(平滑滚动将为div完成)?
有没有办法做到这一点?
我想知道是否有任何方法可以以像素为单位获取div高度,尽管其高度较早设置为100%高度。
这是必需的,因为div内容是动态的,所以div高度根据内容本身具有不同的值。尽管其高度设置为100%,但以高分辨率获取div高度
[编辑] Div默认是隐藏的。
我需要以像素为单位获取div高度以供后期操作(平滑滚动将为div完成)?
有没有办法做到这一点?
既然你标记的jQuery,使用
$("#myElement").height();
对于纯醇” JavaScript中,你可以使用element.clientHeight
或element.offsetHeight
,这取决于哪一个适合您的需求。
.show()
它调用
.height()
之前,你可以再次隐藏它立刻:
var $myEl = $('#myElement').show();
var height = $myEl.height();
$myEl.hide();
theDiv.clientHeight
您可以使用height()
$("#divInQuestion").height();
你可以使用.height()功能:
$('#divid').height()
在缓慢的浏览器上,显示/隐藏方法可能会导致闪烁(尽管计算机必须非常慢)。所以如果你想避免这种情况,给div一个不透明度:0 - 甚至可能是一个位置:绝对,所以它不推动内容。所以扩展以前的代码:
var $myEl = $('#myElement').css({"opacity": "0", "position": "absolute"}).show();
var height = $myEl.height();
$myEl.hide().css({"opacity": "", "position": ""});
但是再次。这可能是矫枉过正。
你使用jQuery吗?或者你想要一个纯粹的JS解决方案? – 2010-06-23 11:40:08
是的,我使用jQuery。 – Ahmed 2010-06-23 11:43:10