gpt4 book ai didi

javascript - 为什么这两个排队的动画从未执行过?

转载 作者:行者123 更新时间:2023-12-01 03:21:00 25 4
gpt4 key购买 nike

根据下面的代码,第一个动画的回调函数中有一个字体大小动画。它应该在第一个动画完成时执行。事实上,字体大小动画是在第一个动画完成后执行的。通常情况下,一个排队的动画应该在某个动画完成后执行,并且上一个动画的回调函数也应该同时执行。但在这种情况下,为什么2个排队动画从未执行过?(排队动画全部被删除)是因为font-size动画的.stop(true)函数吗?什么原因?执行流程是怎样的?

$(document).ready(function(){
$("div").animate({height: "300px"},3000,"linear",function(){
$(this).stop(true).animate({fontSize: "50px"},3000,"linear");
}); //The first animation
$("div").animate({height: "50px"},3000,"linear"); //The queued animation
$("div").animate({width: "200px"},3000,"linear"); //The queued animation
});
div{
font-size: 20px;
text-align: center;
background-color: #F00;
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Hello world!</div>

最佳答案

要以与第一个动画相同的方式对它们进行排队,您需要将它们作为回调传递:

$(document).ready(function(){
$("div").animate({height: "300px"},3000,"linear",function(){
$(this).animate({fontSize: "50px"},3000,"linear", function() {
$("div").animate({height: "50px"},3000,"linear"); //The queued animation
$("div").animate({width: "200px"},3000,"linear"); //The queued animation
});
}); //The first animation

});
div{
font-size: 20px;
text-align: center;
background-color: #F00;
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Hello world!</div>

关于javascript - 为什么这两个排队的动画从未执行过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45205744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com