2011-11-14 14 views
5

मैं उलझन में हूं, एनिमेशन के लिए "कतार" है और "AJAX" के लिए स्थगित है? क्या कोई मुझे कुछ विशिष्ट उदाहरण बता सकता है?किस स्थिति में "कतार" या "स्थगित" का उपयोग कैसे करें? उनके डिजाइनिंग उद्देश्य क्या हैं?

उत्तर

6

आप अधिकतर सही हैं।

"स्थगित वस्तुओं" का उपयोग एसिंक्रोनस ईवेंट प्रसंस्करण के लिए किया जा सकता है - आप एक क्रिया शुरू करते हैं और फिर कॉलबैक पंजीकृत करते हैं जो कार्रवाई पूर्ण होने पर लागू की जाएगी। इसमें AJAX शामिल है, हालांकि कई अन्य उपयोग भी हैं।

jQuery कतारों वास्तव में मुख्य रूप से (एनीमेशन) कार्यों के एक कतार बनाए रखने के लिए अनुक्रम में कहा जाता था रहे हैं, और विशेष रूप से .queue() एक एनीमेशन कतार में अपने स्वयं के समारोह को जोड़ने के लिए प्रयोग किया जाता है।

मामलों को और जटिल करने के लिए एनिमेशन पूर्ण होने पर एसिंक्रोनस कॉलबैक को भी ट्रिगर कर सकते हैं। ऐसा करने का "पारंपरिक" तरीका एनीमेशन फ़ंक्शन को कॉलबैक प्रदान करना था, लेकिन आधुनिक jQuery के साथ यदि आप jQuery ऑब्जेक्ट पर .promise() पर कॉल करते हैं तो आपको एक स्थगित ऑब्जेक्ट मिलता है जिसे हल किया जाएगा जब उस ऑब्जेक्ट के भीतर प्रत्येक तत्व पर मौजूद कोई भी मौजूदा एनिमेशन पूरा हुआ:

$('#id1,#id2').slideUp().promise().done(function() { 
    // this will be called when the animations are complete 
});