jquery回调变量返回“undefined”

时间:2012-12-19 09:46:42

标签: jquery loops callback undefined

我是一名设计师,而不是一名程序员,而且我正在尝试习惯jquery和javascript进行一些实验(动画)...到目前为止我做了一些事情,但我真的没有进一步了解在这一点上:我正在尝试在循环中添加回调,以便在下一个动画步骤开始之前完成每个动画步骤。问题是,在这种情况下,只要我将其置于回调中,pick变量就会返回“undefined”。我想它解决起来非常简单,但我已经在网上搜索了好几个小时,但却无法让它发挥作用。

任何帮助将不胜感激。

for (i = 0; i < pick.length; i++)
{
    target= $('#'+pick[i]).css('left');
    console.log(target+'no1');

    $('#'+pick[i]).animate({'left':farright}, 1000, function () {
        $('#'+pick[i]).css('left', farleft, function () {
            $('#'+pick[i]).animate({'left':target}, 3000);
        });
     });    
}

1 个答案:

答案 0 :(得分:0)

尝试

pick.each( function() {
    target= this.css('left');
    console.log(target+'no1');

    this.animate({'left':farright}, 1000, function () {
        this.css('left', farleft, function () {
            this.animate({'left':target}, 3000);
        });
     });  
});

http://api.jquery.com/jQuery.each/

我真的不知道它是否解决了你的问题但是如果你使用JQuery那么它会更优雅