2011-11-30 34 views
19

Tôi biết làm thế nào để chờ đợi cho đến khi một hình ảnh động được thực hiện vớijQuery chờ đợi cho đến khi tất cả các hình ảnh động trang được thực hiện

$('#element').animate(speed,function(){ 
//code here 
}); 

và với nhiều yếu tố với

$('#element1, #element2').promise().done(function(){ 
//code here 
}); 

nhưng làm thế nào để tôi chờ đợi cho đến khi tất cả của các yếu tố trên trang được thực hiện hoạt hình? Tôi sẽ không chỉ đưa vào mọi yếu tố mà tôi đang chờ đợi ở đó.

Trả lời

44

Để chọn tất cả những gì đang được hiện hoạt hình, chỉ cần làm $(":animated") http://api.jquery.com/animated-selector/

Kết hợp điều đó với những gì bạn đã có ở đó, nó chỉ muốn được

$(":animated").promise().done(function() { 
    //code here 
}); 
+1

Cảm ơn bạn! Điều đó dường như làm các thủ thuật –

9

Câu trả lời được đưa ra bởi Jeremy T hoạt động tốt - mặc dù dựa trên các nhận xét trên trang web jquery mà anh ta liên kết (http://api.jquery.com/animated-selector/), nó sẽ là giải pháp nhanh hơn để thêm lớp vào từng phần tử trên trang có thể hoạt ảnh và sau đó chọn chúng bằng cách sử dụng

$('.animationclass').filter(':animated').promise().done(function() { 
//Your function 
}); 
Các vấn đề liên quan