显然这只发生在我身上 - 我想不出为什么,但如果它有效,我很高兴:)
我有一个全屏幻灯片,我创建了一个垂直居中任何太大图像的功能。
function fixImages(){
maxheight = $('.index-slide-container').height();
$('.index-slide-container img').each( function(index, ele){
if (ele.height > maxheight){
offset = ( maxheight - ele.height ) / 2;
$(ele).css('top', offset + 'px');
}
});
}
fixImages();
然而,ele.height
返回图像可见部分的高度(它的容器高度,因为它具有overflow:hidden
,即使在我console.log(ele)
并展开元素时, 'height'显然是正确的值。
我还尝试过$(ele).height()
,$(ele).css('height')
,$(ele).outerHeight()
和ele.clientHeight
;所有这些都返回相同。
由于
答案 0 :(得分:0)
我做了一些测试,并且$('img')。height();给了我正确的图片高度。
如果您希望垂直居中,为什么不使用像这样的css绝对定位,例如:
.index-slide-container img {
position:absolute;
top:50%;
}
而且,您可以使用jQuery以编程方式设置负边距:
$('.index-slide-container img').each( function(i, e){
var height = $(e).height() / 2;
$(e).css({'margin-top':'-'+height});
});