1
function thumb_wheel() {
    $("#slider .nivo-controlNav img").animate({left: '-600px'}, 14000, function(){  
        $(this).css({left:'0px'}, function(){
            thumb_wheel();
        });
    });
};

基本上,一旦动画完成,我希望它将“左”重置为 0px,然后再次调用自己。我试过用不同的方式格式化它,使用 setInterval 等...检查了 Google、Stack 和 #jQuery...无论我尝试什么,当我添加重置时,它似乎“挂起”。有任何想法吗?

4

2 回答 2

1

您可以在这个 jsfiddle 中看到一个可行的解决方案:http: //jsfiddle.net/GjemU/

您的代码中有一些语法错误,并且您尝试使用不存在的回调.css

于 2011-06-12T20:50:05.980 回答
0

回调在不同的范围内被调用,因此this变量指向的对象与您想象的不同。
解决方案是使用闭包:

function thumb_wheel() {
    var el = $("#slider .nivo-controlNav img");
    el.animate({left: '-600px'}, 14000, function(){  
         el.css({left:'0px'});
         thumb_wheel();
    });
};
于 2011-06-12T20:52:34.113 回答