Поскольку я сейчас делаю то же самое, я поделюсь полезной кросс-браузерной реализацией из учебника Маракана .
// 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);
}
Следует отметить, что IE10 поддерживает переходы с transitionend
(см. MSDN ).
IE9 и ниже не поддерживает переходы (см. caniuse.com ), поэтому вы не сможете присоединить никакой EventListener к концу перехода (поэтому не пытайтесь msTransitionend
или что-то еще для этих браузеров).
РЕДАКТИРОВАТЬ: Читая документацию Modernizr на Github, я наткнулся на их страницу с несколькими браузерами.Среди многих других полезных ссылок я обнаружил этот небольшой, но очень хороший transitionend скрипт .
Помните, что примеры в Github README.md используют jQuery, но библиотека действительно требует никаких библиотек и без зависимостей как написано в ванильном javascript.