1

我是设计师,而不是程序员,我正在尝试习惯 jquery 和 javascript 进行一些实验(动画)......到目前为止,我管理了一些事情,但我现在真的没有进一步了解:我正在尝试在循环中添加回调,以使每个动画步骤在下一个开始之前完成。问题是,在这种情况下,pick 变量在我将其放入回调后立即返回“未定义”。我想这很容易解决,但我已经在网上搜索了几个小时,但无法让它工作。

任何帮助,将不胜感激。

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);
        });
     });    
}
4

1 回答 1

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,使用起来会更加优雅

于 2012-12-19T09:53:01.240 回答