我试图得到一个元素的高度值列表,但它返回0.
我做了一些研究,看到为了获得元素的高度,该元素必须是可见的.
但是当它被隐藏时我想检查它的高度.如果它的高度大于某个值,则使用某些函数然后使其可见.有没有办法做到这一点?
我的意思是:
Sha*_*oli 17
您可以show将元素得到高度,然后将其隐藏,在视觉上,你不会看到任何区别.
var height = $('elementSelector').show().height();
$('elementSelector').hide();
if(height != <<HeightToCompare>>){
//Code here
}
//Finally make it visible
$('elementSelector').show();
Run Code Online (Sandbox Code Playgroud)
一种方法是克隆对象,将克隆定位在视口之外,使其可见,测量克隆,然后销毁它.
所以你有了:
<div id="maybe" style="display: none;">
Something
</div>
Run Code Online (Sandbox Code Playgroud)
既然你正在使用jQuery,你会做这样的事情:
$('#maybe')
.clone()
.attr('id','maybe_clone') // prevent id collision
.css({ // position far outside viewport
'position': 'absolute',
'left': '-1000px'
});
if( $('#maybe_clone').show().height() > 200 ) {
$('#maybe').show();
}
$('#maybe_clone').remove(); // housekeeping
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23532 次 |
| 最近记录: |