2011-08-31 26 views
14

tôi có mã này:Làm thế nào để gọi một hàm sau một fadeOut() trên nhiều yếu tố

$('.hotel_photo_select').fadeOut(500, function() { 
    alert("Now all '.hotel_photo_select are hidden'"); 
}); 

và tôi muốn gọi cảnh báo rằng chỉ khi ALL.hotel_photo_select là fadeOuted (như vậy, Hidden) .

Tôi có thể làm như thế nào? Với mã của tôi, cảnh báo được gọi sau khi phần tử đầu tiên bị mờ dần ...

Trả lời

38

Bạn có thể sử dụng phương thức promise() cho điều này (trang tài liệu có ví dụ điển hình cho việc này). phương pháp

Các .promise() trả về một Promise tạo động đó là giải quyết một lần tất cả các hành động của một loại nhất định ràng buộc để thu thập, xếp hàng đợi hay không, đã kết thúc.

Áp dụng cho ví dụ của bạn nên được một cái gì đó như thế này:

$.when($('.hotel_photo_select').fadeOut(500)) 
           .done(function() { 
    alert("Now all '.hotel_photo_select are hidden'"); 
}); 
+12

Làm thế nào bạn đang sử dụng các .promise() ở đây? – Evgeny

+5

Đây là phiên bản lời hứa(): $ ('. Hotel_photo_select'). FadeOut (500) .promise(). Done (function() { alert ("Now all '.hotel_photo_select are hidden'"); }) ; – DDA

+0

http://jsfiddle.net/mdf3C/ – DDA

Các vấn đề liên quan