From: zurbchris Date: Thu, 19 Nov 2015 00:27:31 +0000 (-0800) Subject: further polyfill for transitionend events to support ie... grumblecakes X-Git-Tag: v6.0.0^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fbbdbef13d8cb1c4c3d8e05dd3dd87ecbcc5bc4;p=thirdparty%2Ffoundation%2Ffoundation-sites.git further polyfill for transitionend events to support ie... grumblecakes --- diff --git a/js/foundation.core.js b/js/foundation.core.js index 3dff8a16e..117a9c7e1 100644 --- a/js/foundation.core.js +++ b/js/foundation.core.js @@ -179,14 +179,43 @@ var Foundation = { 'MozTransition': 'transitionend', 'OTransition': 'otransitionend' }; - var elem = document.createElement('div'); + var elem = document.createElement('div'), + end; for (var t in transitions){ if (typeof elem.style[t] !== 'undefined'){ - return transitions[t]; + end = transitions[t]; } } - })() + if(!end){ + + } + })(), + transient: function($elem){ + var transitions = { + 'transition': 'transitionend', + 'WebkitTransition': 'webkitTransitionEnd', + 'MozTransition': 'transitionend', + 'OTransition': 'otransitionend' + }; + var elem = document.createElement('div'), + end; + + for (var t in transitions){ + if (typeof elem.style[t] !== 'undefined'){ + end = transitions[t]; + } + } + if(end){ + return end; + }else{ + end = setTimeout(function(){ + $elem.triggerHandler('transitionend', [$elem]); + }, 1); + return 'transitionend'; + } + + } }; Foundation.util = { diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index 5f6bbe893..c850931dc 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -274,10 +274,15 @@ Drilldown.prototype._hide = function($elem){ var _this = this; $elem.addClass('is-closing') - .on(Foundation.transitionend + '.zf.drilldown', function(e){ - // console.log('transitionend'); - $(this).removeClass('is-active is-closing').off(Foundation.transitionend + '.zf.drilldown'); - }); + .one(Foundation.transient(), listen); + + function listen(){ + $elem.removeClass('is-active is-closing'); + } + // .on(Foundation.transitionend + '.zf.drilldown', function(e){ + // // console.log('transitionend'); + // $(this).removeClass('is-active is-closing').off(Foundation.transitionend + '.zf.drilldown'); + // }); /** * Fires when the submenu is has closed. * @event Drilldown#hide