2010-11-18 15 views
0

Bir jQuery efekti/animasyonu diğerinden sonra çalıştırmaya çalışıyorum. Bu denedim:jQuery efektlerini anlama kuyruğu

$('#myDiv').animate({'left':'+=300'},1000).delay(2000).animate({'left':'-=300'},1000); 

DÜZENLEME:

Bu aslında benim açımdan yapıştırma hata işle yapar. otomatik etkilerini Zincirleme Bizim istediğimiz docs göre, bir kuyruk oluşturur: Bu deyimi yürütüldüğünde

$('#foo').slideUp().fadeIn();

, eleman derhal sürgülü animasyon başlar, ancak solma geçiş Kaydırma geçişi tamamlandığında sadece çağrılacak fx kuyruğuna yerleştirilir.

+0

Ne yapıyor? –

+0

Hiçbir şey olmuyor – Yarin

+1

Dokümanların anlaşılması doğrudur. Ne yapmalısın? İşte bir örnek. http://jsbin.com/eladu3/ Kodu kopyalayıp başka bir yere yapıştırmanız mümkün mü? Bazen geçersiz görünmez karakterler kodu bulur ve bozarlar. – user113716

cevap

0

jQuery animate() Eğer Orada bu

$('#myDiv').animate({'left':'+=300'},1000, function() { 
    //Start Next Animation 
    $(this).animate({'left':'-=300'},1000, function() { 
    //Start Next animation 
    }); 
}) 
+1

Geri aramaları biliyorum ama yuvadan ziyade zincirlemek istiyorum ve bu da gecikmeler için kolay bir yol sunmuyor. – Yarin

0

yapabilirsiniz onunla bir çağrı arka parametresi

sahiptir (Yardım için teşekkürler, bana soruyu silmek izin vermez) Bunu yapmanın iki yolu vardır: callback parametresini animasyonlu kullanarak ve queues kullanarak.

+0

kuyrukları, yukarıdaki düzenlemelerimi görmek istediğim şeydir ... – Yarin

0

Divanda position: absolute; (veya relative, ne istediğinize bağlı olarak) ayarladınız mı? Eğer daha sonra yapmamışsanız left hiçbir şey yapmayacaktır. İşte bir örnek: http://jsfiddle.net/vftNF/

+0

İlk başta benzer bir şey düşünüyordum, ancak soruda "ayrı animasyon çağrıları kendi başına çalışıyor" *. – user113716

+0

Peki, örneği kontrol ettiniz mi? Bu benim için çalışıyor, böylece sahip olduğunuz herhangi bir kodla karşılaştırmak için bunu kullanabilirsiniz. –

+0

Nevermind, yorumunu gördüm. Ancak, bazı bant genişliklerini/yazımlarını, parametrelerin etrafına tırnak koymamadan kaydedebileceğinizi unutmayın: '{left: '+ = 300'} –