Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置一个元素的动画,直到它完成才继续?_Javascript_Jquery - Fatal编程技术网

Javascript 如何设置一个元素的动画,直到它完成才继续?

Javascript 如何设置一个元素的动画,直到它完成才继续?,javascript,jquery,Javascript,Jquery,我只想在纸牌游戏中设置元素的动画,但问题是当我使用动画功能时,代码会继续运行。 我尝试了promise和done函数,但由于某些原因,它没有帮助 以下是我所做的: $(document).ready( function() { $(".demoCard").animate({ "margin-top": '-150' }, 1000, "easeInSine", function() { $(".demoCard").remove();

我只想在纸牌游戏中设置元素的动画,但问题是当我使用动画功能时,代码会继续运行。 我尝试了promise和done函数,但由于某些原因,它没有帮助

以下是我所做的:

$(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的父元素被删除了,我需要将代码冻结,直到它完成动画制作。之后还有更多的代码,我无法在回调中全部使用-我想..我明白你的意思了。我也有同样的问题。唯一的解决方案是使用回调。也许您可以将函数指向包含其余代码的回调函数?那将是你最好的解决办法。