Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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 Jquery动画被卡住了_Javascript_Jquery_Html_Css_Jquery Animate - Fatal编程技术网

Javascript Jquery动画被卡住了

Javascript Jquery动画被卡住了,javascript,jquery,html,css,jquery-animate,Javascript,Jquery,Html,Css,Jquery Animate,我有两个div,我想同时前后移动它们 function slideRight() { // slide to right $("div").animate({ left: "200px" }, 2000, function() { slideLeft(); }); } function

我有两个div,我想同时前后移动它们

        function slideRight() {


            // slide to right
            $("div").animate({
                left: "200px"
            }, 2000, function() {
                slideLeft();
            });
        }

        function slideLeft() {

            // slide to left
            $("div").animate({
                left: "0px"
            }, 2000, function() {
                slideRight();
            });
        }
        $(document).ready(function() {
            $("#start").on("click", function() {
                slideRight();
            });
        });

但是,动画在每次滑动后都会卡住并变得更慢。一个div就可以了。潜水次数越多,停留的时间越长。为什么?

我认为问题在于,您的函数在另一个动画函数中调用自己,循环不断,每次调用都会导致延迟。取而代之的是,我在第二个函数上停止循环,然后用超时重新开始,这会中断循环,也会延迟,然后重新开始

尝试添加以下内容:

        div {
            background: yellow;
            height: 100px;
            position: absolute;
            width: 100px;
            left:0px;}
        div {
            background: yellow;
            height: 100px;
            position: absolute;
            width: 100px;
            left:0px;}
$("div").stop().dequeue().animate({
  ...