高度设置为" auto"没有使用JS动画

时间:2014-12-07 16:44:47

标签: javascript jquery html css

我试图将高度设置为" auto"在下面的代码中,DIV可以根据内容调整其大小。不幸的是,这不起作用。 (如果我在px中设置高度,则没有问题)。知道为什么以及如何解决这个问题?非常感谢

Fiddle HERE

JS

$("a").click(function () {
    var page = $(this).data("page");
    if ($('div:animated').id != page) {
        var active = $(".fold.active");

        // if there is visible fold element on page (user already clicked at least once on link)
        if (active.length) {
            active.animate({
                width: "0"
            }, 200)
                .animate({
                height: "0"
            }, 200, function () {
                // this happens after above animations are complete
                $(this).removeClass("active");

            })

            // clicking for the first time
        }
        if (active.attr("id") != page) {
            $("#" + page)
                .addClass("active")
                .animate({
                height: "auto"
            }, 1000, 'linear')
                .animate({
                width: "200px"
            }, 400, 'linear')

        }
    }
});

1 个答案:

答案 0 :(得分:0)

您需要计算要发生的jQuery height的{​​{1}}

演示 - http://jsfiddle.net/7hcsv5dn/

animate()