Javascript 如何设置一个元素的动画,直到它完成才继续?
我只想在纸牌游戏中设置元素的动画,但问题是当我使用动画功能时,代码会继续运行。 我尝试了promise和done函数,但由于某些原因,它没有帮助 以下是我所做的:Javascript 如何设置一个元素的动画,直到它完成才继续?,javascript,jquery,Javascript,Jquery,我只想在纸牌游戏中设置元素的动画,但问题是当我使用动画功能时,代码会继续运行。 我尝试了promise和done函数,但由于某些原因,它没有帮助 以下是我所做的: $(document).ready( function() { $(".demoCard").animate({ "margin-top": '-150' }, 1000, "easeInSine", function() { $(".demoCard").remove();
$(document).ready( function() {
$(".demoCard").animate({
"margin-top": '-150'
}, 1000, "easeInSine", function() {
$(".demoCard").remove();
});
});
根据api文档。您的回拨是正确的。尝试更新jQuery api。也许你使用的是过时的版本。如果这不起作用,试着消除你的论点。JQuery可能试图将easing参数用作回调函数。如果需要放松,请确保已安装并加载jQuery UI。否则,jQuery将无法识别这种放松,并尝试使用easeInOutSine作为回调函数。继续运行的代码示例在哪里?退出并删除,如果继续运行是指所有其他事件,则创建一个标志,在每个事件中检查标志,如果标志为1,则返回,否则继续。当开始设置动画时,将flag设置为1,然后在“完成”中将flag设置为0。从功能上讲,这是一个好主意,我会尝试一下。谢谢首先,谢谢你的回答。但问题是,在我编写完这段代码之后,.demoCard的父元素被删除了,我需要将代码冻结,直到它完成动画制作。之后还有更多的代码,我无法在回调中全部使用-我想..我明白你的意思了。我也有同样的问题。唯一的解决方案是使用回调。也许您可以将函数指向包含其余代码的回调函数?那将是你最好的解决办法。