javascript - JQuery 中的无限循环?

标签 javascript jquery css animation

下面是代码

function mafunk(z){
    if(z == 1){
        $(".cloud").each(function(index, element) {
        if(!$(this).attr('id')){
        $(this).css("left",  -20+'%');
        $(this).next('a').css("left", -20+'%');
        }
     });
    }
    var x = (Math.random() * 10000) + 20000;
    $('.cloud').animate({
    left: '150%'
    }, x, 'linear', mafunk(1));

}


mafunk(0);

我不知道我的代码哪里出错了,基本上,我尝试制作动画的东西具有我无法更改的初始化位置。因此,我调用了 mafunk(0),这样它就不会改变初始位置。动画结束后(当我制作动画的东西达到 150% 时),它会调用 mafunk(1) 因此该函数将重新定位这些东西,这样它们就可以再次制作动画了。

上面的代码让我的动画停止了,但是,我通过检查元素进行了检查,它们都停留在左侧位置 -20%,甚至一次都没有动画。如果我删除回调“mafunk(1)”,它将动画化,但只有一次:/我哪里出错了?

最佳答案

animate 需要一个函数作为最后一个参数,因此它可以调用它。

现在,您通过了 mafunk(1)。这不是函数,这是函数调用的结果,并且它是 undefined。您应该传递的是 function(){ mafunk(1) }

改变这一行

}, x, 'linear', mafunk(1));

}, x, 'linear', function(){ mafunk(1) });

关于javascript - JQuery 中的无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28608954/

相关文章:

javascript - 初始化后如何更改引导轮播的间隔

javascript - ruby on Rails CoffeeScript 输入表单

javascript - 尝试 fadeToggle() 单个 div 中的图像数组不起作用

css - Angular 4 ng构建产品样式SyntaxError

java - 将 css 导入样式/主题

Javascript - 在循环中向数组添加唯一项但数组保持重复值

Javascript 表单验证框架 : Request for Review

javascript - 复选框列表的奇怪字母排序

jquery - jquery 插件元素的 CSS 定位

jquery :button selector not able to handle dynamic button fields