var playVideo; var stopVideo; $( document ).ready(function() { var videoElement = document.getElementById('fullscreenVideo'); var closeVideoButton = document.getElementById('closeVideo'); var videoDisplayTypes = ['fill', 'cover']; videoElement.addEventListener('ended',function(event) { hideVideoElement(); },false); closeVideoButton.addEventListener('click',function(event) { hideVideoElement(); },false); function hideVideoElement() { hideElement(videoElement, function() { videoElement.pause(); videoElement.currentTime = 0; }); hideElement(closeVideoButton); } /* From Modernizr */ 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]; } } } function hideElement(el, callback) { el.style.visibility = "hidden"; el.style.opacity = "0"; if(callback) { var transitionEvent = whichTransitionEvent(); transitionEvent && el.addEventListener(transitionEvent, function() { el.style.display="none"; callback(); }); } } function showElement(el) { el.style.visibility = "visible"; el.style.opacity = "1"; el.style.display="block"; } playVideo = function(src, type) { showElement(videoElement); showElement(closeVideoButton); videoElement.setAttribute("src", src); videoDisplayTypes.forEach(function(videoDisplayType) { videoElement.classList.remove(videoDisplayType); }); videoElement.classList.add(type); videoElement.play(); } });