【问题标题】:How to know when a jquery effect ends if there are mutiple elements which are animated如果有多个动画元素,如何知道 jquery 效果何时结束
【发布时间】:2012-03-30 09:00:24
【问题描述】:

给定以下示例:如果找到 5 个 <li> 元素,则回调会触发警报 5 次...

有没有一种简单的方法可以确定动画何时真正结束并触发一次

$(this).parent().siblings('li').slideUp(500,function(){
    alert 
});

【问题讨论】:

    标签: javascript jquery callback jquery-animate jquery-deferred


    【解决方案1】:
    $.when($(this).parent().siblings('li').slideUp(500))
     .then(function() {
                alert('Finished!');
           });
    

    Working DEMO

    whendocs:

    描述:提供一种基于一个或多个对象执行回调函数的方法,通常是表示异步事件的延迟对象。

    【讨论】:

    • 甜蜜!非常感谢!似乎是一个很好的问题和一个很好的答案;-P 这很有趣!
    • 注意这不适用于 Jquery 1.4.4...但适用于 1.7.1!!
    • @Jurudocs lol,真是一出戏!不,它适用于 1.5+。已经一岁了(2011 年 1 月 31 日发布),请更新你的 jQuery 版本...
    • @Jurudocs。是的,您与 括号 混合 => $.when($(this).parent().siblings('li').slideUp(500)).then(function() { alert('end'); });​ 使用高亮括号的编辑器编写...
    • 非常感谢伙计!很大的帮助!这对其他问题也很方便!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多