获取高度为auto的绝对元素的高度

时间:2015-04-24 12:52:51

标签: jquery html css

我的情况就像这里DEMO

想知道如何获得扩大孩子的身高?因为现在jquery height()给了我0

任何建议或参考。

3 个答案:

答案 0 :(得分:2)

根据我的意识,问题在于您正在运行动画并同时获得高度。

如果添加等于动画时间的超时,则会得到90作为结果。

$( ".list-el" ).mouseover(function() {
  var b = $(".el-bottom");
    setTimeout(function () {
       alert(b.innerHeight());
    }, 1700)
});

答案 1 :(得分:1)

当你试图让孩子的身高纠正这种情况时,有一个更好的方法没有js,我知道这不是你被要求的但是试着考虑这个...不要使用js,如果你没有,尝试让页面加载更容易,更快:

ul{
    list-style: none;
    max-width: 600px;
    margin: 0 auto;
}
.list{
    width: 100%;
    padding: 0;
}
.list-el{
    width: 100%;
    background: #ff00ff;
    margin-top: 10px;
}

.el-top{
    width: 100%;
    text-align: center;
    line-height: 75px;
}

.el-bottom{
    text-align: center;
    background: #f0fff0;
    width: 100%;
    text-align: left;
    max-height: 0;
    overflow: hidden;
    height: 0;
    -webkit-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}

.list-el:hover .el-bottom{
    max-height: 700px;
    height: 100%;
}

.list-el:hover .el-bottom{
    max-height: 700px;
    height: 100%;
}

小提琴:http://jsfiddle.net/uqmctwh2/11/

答案 2 :(得分:0)

尝试使用.innerHeight()