jQuery .animate() 回调无限循环

标签 jquery html jquery-animate infinite-loop

一个简单的问题:为什么我可以这样做

var start = function() {
    $('#element').animate({}, 5000, 'linear', start);
}

但不是这个

    function start() {
        $('#element').animate({}, 5000, 'linear', start());
    }

?

第一个完美运行,在完成后重新启动动画。第二个只会导致无限循环。

最佳答案

要么使用

function start() {
    $('#element').animate({}, 5000, 'linear', start);
}

function start() {
    $('#element').animate({}, 5000, 'linear', function(){ start(); });
}

如果您想实际传递一些参数以开始......,第二种情况很有用。

关于jQuery .animate() 回调无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461945/

相关文章:

javascript - 将项目悬停一秒后对图像进行动画处理

javascript - JQuery UI 对话框 html() 和淡入淡出崩溃

python - Django 错误信息 : ["' on' value must be either True or False."]

javascript - DataTables - 在每个 <th> 上复制类

html - DRY 减少 sibling 之间的代码共享

html - 100% 的高度和宽度导致我的图像出现 "zoom"

javascript - 使用 jQuery 在无限循环中对单词宽度进行动画处理

javascript - 在使用整页 js 时如何将动画(如向左滑动、淡入等)添加到 div 中?

javascript - 当用户滚动到特定元素的末尾时如何运行 jQuery 代码?

jquery - 为什么 jquery GET 没有缓存应有的结果?