UNPKG

593 BJavaScriptView Raw
1import css from 'dom-helpers/css';
2import transitionEnd from 'dom-helpers/transitionEnd';
3
4function parseDuration(node, property) {
5 var str = css(node, property) || '';
6 var mult = str.indexOf('ms') === -1 ? 1000 : 1;
7 return parseFloat(str) * mult;
8}
9
10export default function transitionEndListener(element, handler) {
11 var duration = parseDuration(element, 'transitionDuration');
12 var delay = parseDuration(element, 'transitionDelay');
13 var remove = transitionEnd(element, function (e) {
14 if (e.target === element) {
15 remove();
16 handler(e);
17 }
18 }, duration + delay);
19}
\No newline at end of file