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
返回图像可见部分的高度(它的容器高度,因为它有
溢出:隐藏
),即使在I
console.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()
返回的值相同啊,我们看到了所有高度和偏移量。它似乎工作正常,问题出在哪里?