2011-08-31 12 views
14

मैं इस कोड है:कितने तत्वों पर एक fadeOut() के बाद एक समारोह कॉल करने के लिए

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

और मुझे लगता है कि चेतावनी कॉल करने के लिए केवल जब सभी.hotel_photo_select fadeOuted हैं चाहते हैं (हां, छिपे हुए) ।

मैं यह कैसे कर सकता हूं? मेरे कोड के साथ चेतावनी को पहले तत्व के बाद बुलाया जाता है ...

उत्तर

38

आप इस के लिए promise() विधि का उपयोग कर सकते हैं (दस्तावेज़ पृष्ठ के लिए इसका एक अच्छा उदाहरण है)।

.promise() प्रणाली गतिशील रूप से उत्पन्न वादा है कि है एक बार हल हो गई संग्रह के लिए बाध्य एक खास प्रकार के सभी कार्यों देता है, पंक्तिबद्ध या नहीं, समाप्त हो गया है।

अपने उदाहरण पर लागू होती है कुछ इस तरह होना चाहिए:

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

आप .promise() यहाँ कैसे उपयोग कर रहे हैं? – Evgeny

+5

यहां वादा() संस्करण है: $ ('। Hotel_photo_select')। FadeOut (500) .promise()। किया गया (फ़ंक्शन() { अलर्ट ("अब सब '.hotel_photo_select छुपा हुआ है"); }) ; – DDA

+0

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

संबंधित मुद्दे

 संबंधित मुद्दे