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_Animation - Fatal编程技术网

Javascript 循环动画会使浏览器崩溃吗?

Javascript 循环动画会使浏览器崩溃吗?,javascript,jquery,animation,Javascript,Jquery,Animation,我有一些PNG在屏幕上反复移动,我相信这可能会使一些浏览器崩溃 例如: function parachute_drop(drop_object, animation_duration) { $(drop_object) .animate({top: "750px"},animation_duration) .animate({top:"-150px", opacity: 100 },{ duration: 0,

我有一些PNG在屏幕上反复移动,我相信这可能会使一些浏览器崩溃

例如:

function parachute_drop(drop_object, animation_duration) {

    $(drop_object)
        .animate({top: "750px"},animation_duration)
        .animate({top:"-150px", opacity: 100
        },{
        duration: 0, 
        complete: function(){
            parachute_drop(drop_object,animation_duration);
        }
    });
 }

 parachute_drop('#object_id',10000);
每次动画完成时,它都会再次启动该函数,直至无限大

我没有预见到这将是一个问题,但我听说这不是很好,嗯,我的网站现在崩溃后,一段时间似乎


有没有一种方法可以以更稳定的方式进行这样的无休止的循环?似乎有点奇怪,简单地将一个9kb的png文件从屏幕的顶部一次又一次地移动到底部会对系统资源造成压力。问题是什么?我该如何更好地处理这个问题?

您的代码是一个递归算法,在填充浏览器javascript机器的代码堆栈时可能会崩溃。您可以使用基于计时器的不同方法来实现连续循环


你可以从这个例子开始:

查看
setTimeout
setInterval
。@Switz:jQUery正在为他使用它。与其通过循环显示动画,不如查看一些javascript游戏库,如jawsjs、impact、,gamequery等。更多信息可以在这里找到:一个修复方法是使用持续时间非常低的setTimeout,甚至在调用函数之前使用1again@charlietfl:没有意义;jQuery已经在这么做了。我明白了-谢谢你。我在学习那个教程,但有人建议我自己做函数,只在函数内部调用它。这似乎也是本教程要做的,但必须使用不同的方法?事实并非如此@cosmicbdog的代码是异步的,而不是递归的。动画是基于Jquery代码的异步的,但完成的方法是一个链接参数,如果它们从未像递归方法那样完成解链方法,则可能会不稳定。我将重复的动画放入everytime()中从上面的代码的功能,仍然得到浏览器崩溃。我想我发现了问题。。。everytime()函数的间隔设置为10。然而,我的循环只有几分钟长。所以他们每10秒就堆积一次-听起来对吗?出于某种原因,我很难理解jquery程序员的行话。