在jQuery无限循环?

国王

下面是代码

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),因此函数将重新放置事物,以便可以再次对其进行动画处理。

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

丹尼斯·塞古瑞特(DenysSéguret)

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

现在,您通过了mafunk(1)这不是一个函数,这是一个函数调用的结果,它是undefined你应该通过的是function(){ mafunk(1) }

更改此行

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章