?? GreyFile — Mystic File Browser

Current path: home/webdevt/www/cryptoimpot.fr/wp-content/themes/blocksy/static/js/frontend/helpers/



?? Go up: /home/webdevt/www/cryptoimpot.fr/wp-content/themes/blocksy/static/js/frontend

?? Viewing: when-transition-ends.js

export function whenTransitionEnds(el, cb) {
	let timeoutId = null
	let didEnd = false

	const end = () => {
		clearTimeout(timeoutId)

		el.removeEventListener('transitionend', onEnd)

		if (!didEnd) {
			didEnd = true
			cb()
		}
	}

	const onEnd = (e) => {
		// Very important check.
		//
		// Sometimes transitionend event is propagated from children to parent
		// and the children transition might be shorter than the parent's one
		// and thus the parent's transitionend event is triggered too early.
		if (e.target === el) {
			end()
		}
	}

	const transitionDuration =
		parseFloat(getComputedStyle(el).transitionDuration) * 1000

	el.addEventListener('transitionend', onEnd)

	timeoutId = setTimeout(() => {
		end()
	}, transitionDuration)
}


??

??