diff --git a/src/definitions/modules/dimmer.js b/src/definitions/modules/dimmer.js index 88519058f..06ae7fddd 100755 --- a/src/definitions/modules/dimmer.js +++ b/src/definitions/modules/dimmer.js @@ -216,6 +216,7 @@ $.fn.dimmer = function(parameters) { $dimmer .transition({ animation : settings.transition + ' in', + queue : false, duration : module.get.duration(), start : function() { module.set.dimmed(); @@ -258,11 +259,14 @@ $.fn.dimmer = function(parameters) { module.verbose('Hiding dimmer with css'); $dimmer .transition({ - animation : settings.transition + ' out', - duration : module.get.duration(), + animation : settings.transition + ' out', + queue : false, + duration : module.get.duration(), + start: function() { + module.remove.dimmed(); + }, complete : function() { if( !module.is.animating() ) { - module.remove.dimmed(); module.remove.active(); } callback(); @@ -272,11 +276,11 @@ $.fn.dimmer = function(parameters) { } else { module.verbose('Hiding dimmer with javascript'); + module.remove.dimmed(); $dimmer .stop() .fadeOut(module.get.duration(), function() { if( !module.is.animating() ) { - module.remove.dimmed(); module.remove.active(); } $dimmer.removeAttr('style'); diff --git a/src/definitions/modules/dimmer.less b/src/definitions/modules/dimmer.less index 64963704a..7cd8e21a3 100755 --- a/src/definitions/modules/dimmer.less +++ b/src/definitions/modules/dimmer.less @@ -107,6 +107,7 @@ transform-origin: center center; } +body.animating.in.dimmable, body.dimmed.dimmable { overflow: hidden; } diff --git a/src/definitions/modules/transition.js b/src/definitions/modules/transition.js index 2f1c276a1..7bc929122 100755 --- a/src/definitions/modules/transition.js +++ b/src/definitions/modules/transition.js @@ -213,14 +213,14 @@ $.fn.transition = function() { set: { animating: function(animation) { animation = animation || settings.animation; - module.save.conditions(); + if(!module.is.animating()) { + module.save.conditions(); + } + module.remove.direction(); + $module.off('.complete'); if(module.can.transition() && !module.has.direction()) { module.set.direction(); } - if(module.is.animating()) { - module.remove.direction(); - $module.off('.complete'); - } module.remove.hidden(); module.set.display(); $module @@ -320,6 +320,8 @@ $.fn.transition = function() { clasName = $module.attr('class') || false, style = $module.attr('style') || '' ; + $module.removeClass(settings.animation); + module.remove.direction(); module.cache = { className : $module.attr('class'), style : module.get.style()