के रूप में मैं वर्तमान में ठीक उसी बात मैं एक उपयोगी, क्रॉस-ब्राउज़र एक Marakana ट्यूटोरियल से कार्यान्वयन साझा करेंगे कर रहा हूँ।
// First, we store the names of the event according to the browsers
var navigatorsProperties=['transitionend','OTransitionEnd','webkitTransitionEnd'];
//For each of them...
for(var i in navigatorsProperties)
{
//We attach it to our overlay div
el.addEventListener(navigatorsProperties[i],function()
{
// Here's the code we want to fire at transition End
console.log('transition end');
},false);
}
उल्लेखनीय यह है कि IE10transitionend
साथ बदलाव का समर्थन करता है (MSDN देखें) है।
IE9 और नीचे कर नहीं समर्थन संक्रमण (caniuse.com देखें) ताकि आप एक संक्रमण समाप्त करने के लिए किसी भी eventListener संलग्न करने के लिए (ताकि उन ब्राउज़र के लिए msTransitionend
या जो कुछ भी प्रयास न करें) में सक्षम नहीं होगा।
संपादित करें: गीथब पर आधुनिकता दस्तावेज पढ़ने के दौरान मैंने अपने क्रॉस-ब्राउज़र पॉलीफिल पेज पर ठोकर खाई। कई अन्य उपयोगी लिंकों में से मुझे यह छोटा लेकिन बहुत अच्छा transitionend script मिला।
मन कि Github README.md में उदाहरण jQuery का उपयोग लेकिन पुस्तकालय वास्तव में कोई पुस्तकालयों और कोई निर्भरता की आवश्यकता के रूप में यह वेनिला जावास्क्रिप्ट में लिखा है।
मैं इसे एक विशेष संक्रमण, अस्पष्टता जैसे कैसे सौंप सकता हूं? –
@Wraith - आप इसे किसी विशेष संक्रमण को असाइन नहीं कर सकते हैं। इसके बजाय, आप तत्व पर फायरिंग घटना सुनते हैं। फिर आप ईवेंट ऑब्जेक्ट से जो जानकारी खोज रहे हैं उसे प्राप्त कर सकते हैं। मेरा अपडेट देखें। –
@Wraith: यूसुफ से जुड़े पेज पर "एक संक्रमण के पूरा होने का पता लगाना" की तलाश करें। 'propertyName': एक स्ट्रिंग जो सीएसएस प्रॉपर्टी का नाम इंगित करती है जिसका संक्रमण पूरा हुआ। 'elapsedTime': एक फ्लोट जो ईवेंट को निकाल दिया गया था उस समय संक्रमण की संख्या को इंगित करता था। यह मान संक्रमण-देरी के मूल्य से प्रभावित नहीं होता है। –