jquery - 防止 jQuery 中的无限循环

标签 jquery loops

应该是一个很简单的问题。我希望这个 jQuery 动画在 1 个循环后停止运行,而不是无限循环。

这绝对是简单的事情,但这是我不久前得到帮助的代码,我一生都无法弄清楚它为什么循环。

谢谢。

jsFiddle: http://jsfiddle.net/SFejj/和代码:

function move(jElem, bUp, iSpeed) {
    jElem.animate(
        {
         opacity: (bUp ? '+' : '-') + '0.1',
         width: (bUp ? '+' : '-') + '=200',
         height: (bUp ? '+' : '-') + '=200'},
        iSpeed,
        function() {
            move(jElem, !bUp, iSpeed);
        }
    );
}

$(document).ready(function() {
    $('.navImage').each(function(iIndex, jElem) {
        // get random delay
        var iTime = Math.floor(Math.random() * 1000);
        // get random speed
        var iSpeed = Math.floor(Math.random() * 1000) + 1500;
        setTimeout(
            function() {
                move($(jElem), true, iSpeed);
            }, 
            iTime
        );
    });
});

最佳答案

移动函数递归调用移动函数。导致堆栈溢出的好方法!

关于jquery - 防止 jQuery 中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170683/

相关文章:

javascript - 大于/小于的 switch 语句

java - 在 Java 中编写静态方法以使用循环返回字符串

javascript - jQuery fadeOut ("slow") 在 IE 上的问题

javascript - 当删除类时。类(class)长度没有变化?

jquery - Bootstrap Modal 自动打开 关闭

jquery - 在循环中绑定(bind)单击事件处理程序会导致 jQuery 出现问题

java - Core Java 打印两个数组中的唯一元素

c++ - 循环分割性能问题

loops - 为什么在循环宏中有一个 = 符号用于从文件中读取行?

javascript - JQuery选择Id问题