为什么隐藏动画前后测试div的高度值是一样的?
$(document).ready(function() {
$("#test").hide("slow", function() {
alert($("#test").height());
});
});
<div id="test">
test
<br />
test
<br />
test
</div>
Hide() 函数只隐藏 div,它不修改高度。只添加一个 style="display: none;" 到元素。
我不完全确定 hide() 动画是如何工作的,但如果它确实改变了元素的 stlye-size 以实现缩小效果,它可能会在动画完成后将其恢复为原始大小。
jQuery真正隐藏事物的方式是设置隐藏元素的 CSS 样式之一(我认为它只是设置 display: none;)。动画只是一些花哨的效果,不会真正永久地改变元素。
你可以在回调中写style.height=' ';