jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 如何使动画一个接一个地运行?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
HTML代码
<ul>
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li>
    <li>e</li>
</ul>

js代码

<script type="text/javascript">
$(document).ready(function() {
    var lis = $("li");
    for (var i = 0; i < lis.length; i++) {
        $(lis[i]).animate({opacity: 0},1000);
    }
});
</script>

我只是发现lis会一起消失.我怎么能一个一个地消失?

解决方法

对不起参加晚会

当定时器阻塞并依赖于定时器的精度时,现有的答案有问题,而且它们需要实际的延迟.

jQuery实际上提供了一个通用的方式来顺序执行promise:

$(document).ready(function() {
    var lis = $("li");
    var queue = $.Deferred().resolve(); // create an empty queue
    lis.get().forEach(function(li){
        queue = queue.then(function(){
           return $(li).animate({opacity: 0},1000).promise();
        })
    });
});

Fiddle

请注意,即使您为其分配了不同的动画持续时间或不同的动画,即使在最后一个动画完成时,队列中的结果也将包含一个钩子.这也支持聚合(等待所有承诺并行完成)等等.

大佬总结

以上是大佬教程为你收集整理的jquery – 如何使动画一个接一个地运行?全部内容,希望文章能够帮你解决jquery – 如何使动画一个接一个地运行?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。