等待css转换

Ric*_*ves 4 javascript css jquery css-transitions

我正在使用css过渡来设置我的一个div的边距.我需要知道如何等待这个效果结束所以我可以调用其他功能然后......有什么办法吗?我读了一些关于堆栈溢出的其他帖子,但它们看起来与我的问题不同.

Wha*_*ied 18

试试这个 SO答案

转换列表器事件在每个浏览器中都有所不同,因此下面的函数将找到要使用的侦听器并返回正确的侦听器.

function whichTransitionEvent(){
    var t;
    var el = document.createElement('fakeelement');
    var transitions = {
      'transition':'transitionend',
      'OTransition':'oTransitionEnd',
      'MozTransition':'transitionend',
      'WebkitTransition':'webkitTransitionEnd'
    }

    for(t in transitions){
        if( el.style[t] !== undefined ){
            return transitions[t];
        }
    }
}

var transitionEnd = whichTransitionEvent();
element.addEventListener(transitionEnd, theFunctionToInvoke, false);

function theFunctionToInvoke(){
// set margin of div here
}
Run Code Online (Sandbox Code Playgroud)