2012-12-19 105 views
1

我是一個設計師,而不是一個程序員,我試圖去習慣jQuery和JavaScript的一些實驗(動畫)...迄今爲止,我管理了一些東西,但我在這一點上真的沒有更進一步:我試圖在循環中添加回調,讓每個動畫步驟在下一個動畫步驟開始之前完成。問題是在這種情況下,只要我把它放入回調中,pick變量就返回「undefined」。我想這很容易解決,但是我一直在網上搜索幾個小時,並且無法實現它的工作。jquery回調變量返回「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); 
     }); 
    });  
} 

回答

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的反正

+0

謝謝你,我我會試試看.. –