Javascript element.height返回可见高度-我想要总高度?
很明显,这只发生在我身上——我不知道为什么,但如果它起作用,我很高兴:) 我有一个全屏幻灯片,我已经创建了一个功能,将垂直中心的任何图像太大Javascript element.height返回可见高度-我想要总高度?,javascript,jquery,height,image,Javascript,Jquery,Height,Image,很明显,这只发生在我身上——我不知道为什么,但如果它起作用,我很高兴:) 我有一个全屏幻灯片,我已经创建了一个功能,将垂直中心的任何图像太大 function fixImages(){ maxheight = $('.index-slide-container').height(); $('.index-slide-container img').each( function(index, ele){ if (ele.height > maxheig
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
返回图像可见部分的高度(它的容器高度,因为它有溢出:隐藏),即使在Iconsole.log(ele)
并展开元素时,“height”显然是正确的值
我还尝试了$(ele.height()
,$(ele.css('height')
,$(ele.outerHeight()
和ele.clientHeight
;它们都返回相同的结果
谢谢我做了一些测试,$('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});
});
高度()不起作用?请说得更具体一点,或者给我们一点调子,我不明白这里是怎么回事……我添加了一些控制台。日志。在这里找到它:用我的方法,我只在必要时集中图像,如果用户没有启用js,那么图像仍然可以工作。如果我们按照你的方式做,顶部有50%的空白。这很好有趣的是,我看不出这些方法对我不起作用的任何原因:/这不是一个真正的解决方案,因为我已经尝试了$(ele).height()
它返回的值与ele.height
和restSo相同?这是图像元素的高度,应该是您想要的。请尝试处理一个特定的示例。转到控制台并查看控制台。在内。每个(函数(ele)
我都放置了console.log(ele)
和console.log(ele.height)
。请记住,$(ele)。height()
返回的值相同啊,我们看到了所有高度和偏移量。它似乎工作正常,问题出在哪里?