首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在启动新动画之前,Jquery将等待所有动画完成。

在启动新动画之前,Jquery将等待所有动画完成。
EN

Stack Overflow用户
提问于 2015-10-22 14:38:37
回答 1查看 977关注 0票数 0

我有菜单与滑翔/滑翔动画附加到悬停事件。

如果我悬停在下一个菜单位置上,而前面的菜单仍然是用slideDown动画的,我想等待slideDown完成,然后启动当前位置的slideUp。

我试着使用“承诺对象”,但它根本不起作用。

代码语言:javascript
复制
$('.menu-2>ul>li').each(function(){
    $(this).hover(
        function(){
            var choice = $('ul', this);
            ('.menu-2>ul>li>ul').promise().done(function(  ) {
                choice.slideDown();

            });

        },
        function(){
            $('ul', this).slideUp(200);
        } 
    );
});
EN

回答 1

Stack Overflow用户

发布于 2015-10-22 14:49:27

您可以在slideDown完成后添加一个回调。试一试例子:

代码语言:javascript
复制
choice.slideDown("fast",function(){your function})

这是只调用动画完成

更新

代码语言:javascript
复制
$('.menu-2>ul>li').each(function(){
    $(this).hover(
        function(){
            var choice = $('ul', this);
            ('.menu-2>ul>li>ul').promise().done(function(  ) {
                choice.slideDown(500);

            });

        },
        function(){
            $('ul', this).delay(500).slideUp(200);
        } 
    );
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33283718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档