答案 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%;
}
答案 2 :(得分:0)
尝试使用.innerHeight()