0

为什么隐藏动画前后测试div的高度值是一样的?

$(document).ready(function() {        
    $("#test").hide("slow", function() {  
       alert($("#test").height());  
   });
});

<div id="test">
    test
    <br />
    test
    <br />
    test
</div>
4

3 回答 3

1

Hide() 函数只隐藏 div,它不修改高度。只添加一个 style="display: none;" 到元素。

于 2009-07-25T23:07:16.403 回答
1

我不完全确定 hide() 动画是如何工作的,但如果它确实改变了元素的 stlye-size 以实现缩小效果,它可能会在动画完成后将其恢复为原始大小。

jQuery真正隐藏事物的方式是设置隐藏元素的 CSS 样式之一(我认为它只是设置 display: none;)。动画只是一些花哨的效果,不会真正永久地改变元素。

于 2009-07-25T23:12:08.170 回答
0

你可以在回调中写style.height=' ';

于 2009-07-26T20:37:43.030 回答