Javascript JQuery.animate()不设置动画。相反,它等待持续时间并立即进行更改

Javascript JQuery.animate()不设置动画。相反,它等待持续时间并立即进行更改,javascript,jquery,jquery-ui,animation,jquery-animate,Javascript,Jquery,Jquery Ui,Animation,Jquery Animate,这是有史以来最令人沮丧的事情。由于某种原因,它没有像预期的那样平滑地设置动画,而是等待动画的整个持续时间为1000毫秒,然后立即设置我的.nowGone div的高度。我正在使用IE 11 这是我的HTML: 以下是我的JQuery: 创建一个测试,看看它在Chrome/Firefox/Opera中是否表现相同。我曾尝试在窗口脚本主机上编写带有超时的JScript,但它有完全相同的问题:它没有按顺序接受延迟,而是似乎将它们提升到顶部或任意点。我认为这是一个IE11问题,不是你代码中的问题。从历史

这是有史以来最令人沮丧的事情。由于某种原因,它没有像预期的那样平滑地设置动画,而是等待动画的整个持续时间为1000毫秒,然后立即设置我的.nowGone div的高度。我正在使用IE 11

这是我的HTML:

以下是我的JQuery:


创建一个测试,看看它在Chrome/Firefox/Opera中是否表现相同。我曾尝试在窗口脚本主机上编写带有超时的JScript,但它有完全相同的问题:它没有按顺序接受延迟,而是似乎将它们提升到顶部或任意点。我认为这是一个IE11问题,不是你代码中的问题。从历史上看,IE需要将div包装在一个containment div中,并在容器上进行动画。在这里可以很好地工作
<head>
    <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
    <script src="//code.jquery.com/jquery-1.11.0.js"></script>
    <script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
</head>

<body>
    <div class="nowGone">
        <!-- large table with lots of rows -->
    </div>
    <div class="more">
        <a href="javascript:;"><i class="fa fa-plus"></i> Show</a>
    </div>
</body>
.more {
    width: 100%;
    text-align: center;
    padding: 10px 0;
    position: relative;
    display: block;
}

.nowGone {
    display: none;
    overflow: hidden;
    height: auto;
}
$(function () {

    $(".nowGone").css('display', 'block');
    var goneheight = $(".nowGone").css('height');
    $(".nowGone").css('height', '0px');

    $(".more").find("a").mousedown(function() {
        $(".nowGone").animate({ height : goneheight }, 1000);
    });

});