2012-07-23 27 views
8

के माध्यम से निकाल दिया है मेरे पास एक div से जुड़े कई CSS3 एनीमेशन हैं, लेकिन मैं केवल एक फ़ंक्शन को अंतिम एनीमेशन का अंत करना चाहता हूं।पता लगाएं कि किस एनीमेशन एंड ने एनीमेशननाम

मैंने एनीमेशन एंड ईवेंट का उपयोग किया है ताकि मैं कहा गया फ़ंक्शन ट्रिगर कर सकूं लेकिन जैसा कि मैंने कहा था कि मैं केवल अंतिम एनीमेशन पर चलाना चाहता हूं।

क्या एनीमेशन के साथ पता लगाने का कोई तरीका एनीमेशन के अंत की जांच कर रहा है जिसने एनीमेशन एंड ट्रिगर को ट्रिगर किया है?

इस प्रकार मुझे अंतिम एनीमेशन को एकल करने के लिए एक कथन का उपयोग करने की इजाजत दी गई।

+0

उम, आपने अपने प्रश्न का उत्तर दिया: एनिमटी का नाम देखें पर ट्रिगर ['एनीमेशन एंड' घटना] (http://www.w3.org/TR/css3-animations/#animation-events)। –

+1

'अगर (event.animationName ===" myAnimation ") ...' –

+0

Argh! मैं और बेवकूफ महसूस नहीं कर सका। इस गर्मी की गर्मी होनी चाहिए। धन्यवादयो रे – Damon

उत्तर

7

जब आप फ़ंक्शन को परिभाषित करते हैं तो पैरामीटर आवश्यक होता है। इनमें से कोई भी काम करना चाहिए;

var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(event){ 
    if (event.originalEvent.animationName === "three") { 
     console.log('the event happened'); 
    } 
} 

या,

var $element = $('.eye').bind("webkitAnimationEnd oAnimationEnd msAnimationEnd animationend", function(e){ 
    if (e.originalEvent.animationName === "three") { 
     console.log('the event happened'); 
    } 
} 
+0

पहले से ही कोशिश की गई है कि श्री क्लेग – Damon

+0

मुझे नहीं लगता कि आप इस तरह की कई स्थितियों को बांध सकते हैं। क्या यह मदद करता है: http://jsfiddle.net/HeX5E/ – mattclegg

5

मैं पता नहीं क्यों ... लेकिन मैं केवल e.originalEvent.animationName

द्वारा animationName पकड़ कर सकते हैं तो सबसे अच्छा विकल्प है:

function getAnimationName(e) { 
    if(e.animationName != undefined) return e.animationName; 
    if(e.originalEvent.animationName != undefined) return e.originalEvent.animationName; 
    else return undefined; 
} 
+1

मुझे लगता है कि यदि आप jQuery का उपयोग कर रहे हैं, तो ईवेंट सभी jQuery-ified है, इसलिए आपको एनीमेशन नाम संपत्ति खोजने के लिए मूल ईवेंट तक पहुंचना होगा। –