如何动画div back-jquery的高度

时间:2013-10-13 06:08:59

标签: javascript jquery html css animation

我正在尝试显示div的某些部分,并在单击div时将其设置为100%。 如果它再次被点击,我想将它动画回div的初始高度。 这是我到目前为止所做的,但它不起作用。有人可以帮忙吗?

#mydiv {
    height:150px;
    width: 100%;
    overflow:hidden;
}

<script type="text/javascript">
    $(document).ready(function(){
        $("#mydiv").click(function(){
            $(this).animate({height: '100%'}, 300);
        }, function() {
            $(this).animate({height: '150px'}, 300);
        });
    });
</script>

2 个答案:

答案 0 :(得分:1)

click()不接受两个函数参数,之前有一个toggle()函数执行了你需要它的方法,但现在它已经被弃用并从jQuery中删除了。

由于您的用例非常简单,我相信这样的事情就足够了:

$("#mydiv").click(function () {
    var $this = $(this);
    $this.animate({
        height: $this.height() == 150 ? '100%' : 150
    }, 300);
});

<强> Demo fiddle

答案 1 :(得分:0)

这应该适合你。

jQuery:

$(document).ready(function() {
    $("#mydiv").toggle(
        function() {
            $(this).animate({height: '100%'}, 300);
        };
        function() {
            $(this).animate({height: 150}, 300);
        });
});