0
我想创建一个css动画回调。我认为唯一的方法就是使用JavaScript。我将不得不规范回调名称,以使其跨浏览器支持。我来到this answer,这下面的代码(有点主编):CSS过渡浏览器
function transitionEndEventName() {
var undefined,
transitions = {
'transition':'transitionend',
'OTransition':'otransitionend', // oTransitionEnd in very old Opera
'MozTransition':'transitionend',
'WebkitTransition':'webkitTransitionEnd'
};
for (var i in transitions) {
if (transitions.hasOwnProperty(i) && document.documentElement.style[i] !== undefined) {
return transitions[i];
}
}
return false
}
var transitionEnd = transitionEndEventName();
if (transitionEnd) {
element.addEventListener(transitionEnd, theFunctionToInvoke);
}
我的问题是,现在这仍然有效,(2016年1月)?另外,是否有必要添加一个else
语句(如果transitionEnd === false)然后添加一个计时器,还是永远不会等于false?
的Opera Mini不支持CSS过渡? – Jessica
@Jessica正确,但没有任何供应商前缀会帮助你。它*不支持它们。完全一样。这就是'else callback()'来的地方。 –
Opera Mini比浏览器更像是浏览器摄像头的屏幕截图查看器,它不会运行任何动态的; css或js ... – dandavis