jQuery while 循环不等待动画

2024-04-16

我有一个 jQuery 函数可以执行以下操作.clone()在一个物体上,然后.insertAfter() and a .slideDown()在克隆的对象上。整个函数被包装在一个while环形。我将尽可能简短并展示一个通用示例:

while (statement) {
    // code for clone and insert  ...
    $("#newly_created_object").slideDown(500);
}

如何防止下一个 while 循环在.slideDown()动画(或任何其他类型的动画)结束吗?

先感谢您 !


您可能希望首先创建并插入所有元素,并将它们存储在数组中。然后,您可以使用递归函数从数组中弹出一个元素并对其进行动画处理,在动画的回调处理程序中的剩余元素上调用函数,以确保第一个元素在下一个元素开始之前完成。

    ...
    var elems = [];
    while (statement) {
        var elem = ...clone and insert element, returning element...
        elems.push(elem);
    }

    animateElems( elems);
}


function animateElems( elems )
{
    if (elems.length > 0) {
        var elem = elems.shift();
        $(elem).slideDown( 500, function() {
             animateElems( elems );
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery while 循环不等待动画 的相关文章

随机推荐