gpt4 book ai didi

javascript - Promise() 在动画完成之前不会延迟功能的问题

转载 作者:行者123 更新时间:2023-11-30 15:22:40 25 4
gpt4 key购买 nike

我已经阅读了如何使用 promise(); 但似乎无法让它在执行我的 promise 函数之前播放动画,目前它运行 3 个游戏然后突然隐藏了所有元素,我是否遗漏了一些 promise api 所需的代码?

function runTheGames(){
var myEvent = function(){
$('.board2').fadeOut({duration : "slow"});
$('.board').fadeOut({duration : "slow"});
$('.control').fadeOut({duration: "slow"});
$("h2").fadeOut({duration: "slow"});
$("h3").fadeOut({duration: "slow"});
}
$.when(myEvent()).promise().done(function(){
isTraining = true;
var xPlayer = new AI("master");
var oPlayer = new AI("menace");
if(isTraining === true){
for(var count = 0; count < 3; count++){
var training = new Training(xPlayer, oPlayer);
xPlayer.plays(training);
oPlayer.plays(training);
training.start();
}
}
isTraining = false;
$(".cell").html("");
$(".bead").html("");
console.log("FINISHED TRAINING");
});
}

最佳答案

您可以使用 jquery 动画 API 通过为您的动画提供回调函数来实现此目的。

var myEvent = function(){
$('.board2').fadeOut("slow");
$('.board').fadeOut({"slow");
$('.control').fadeOut("slow");
$("h2").fadeOut("slow");
$("h3").fadeOut("slow", function() {
// animations are completed here
afterEvent();
});
};

var afterEvent = function() {
isTraining = true;
var xPlayer = new AI("master");
var oPlayer = new AI("menace");
if(isTraining === true){
for(var count = 0; count < 3; count++){
var training = new Training(xPlayer, oPlayer);
xPlayer.plays(training);
oPlayer.plays(training);
training.start();
}
}
isTraining = false;
$(".cell").html("");
$(".bead").html("");
console.log("FINISHED TRAINING");
};

希望对您有所帮助!

关于javascript - Promise() 在动画完成之前不会延迟功能的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455852/

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