.css和.animate不执行序列

时间:2015-02-19 13:03:28

标签: javascript jquery

在下面的代码中,我试图隐藏div然后设置动画宽度。

我的问题是首先出现动画,后来显示无应用。我可以确保它们按顺序执行。

$('.manufacture-details').css('display', 'none');
            $('.dropdown-section').animate({
                'width' : 320
            }, 200);

2 个答案:

答案 0 :(得分:1)

我不知道你在尝试什么,但它工作正常,只要看看这个jsfiddle,我就删除了没有'没有'所以你可以看到动画发生,之后,在它所属的地方添加无,然后点击Run,你将看到它正在工作,dislay:none;发生在动画之前。

HTML

<div class="manufacture-details">
    <div class="dropdown-section"></div>
</div>

JQUERY

$('.manufacture-details').css('display', '');
$('.dropdown-section').animate({
    'width': 320
}, 200);

CSS

.manufacture-details {
    width:500px;
    height:500px;
    background:red;
}
.dropdown-section {
    height:200px;
    width:100px;
    background:blue;
}

所以我猜测你的问题就在其他地方......需要更多的代码来弄清楚你做错了什么。

答案 1 :(得分:0)

我通过简单地将.css()移到.hide()来解决这个问题,因为.hide()提供了回调函数。

         //hide manufacture div
        $('.manufacture-details').hide( "fast", function() {
            //Animation complete.
            $('.dropdown-section').animate({
                'width' : 320
            }, 200,function(){
                sliding_status=false;
            });
          });