Browse Source

Fix issue with animations sometimes sticking due to restore conditions

pull/1177/head
jlukic 10 years ago
parent
commit
ec249ad00a
3 changed files with 16 additions and 9 deletions
  1. 12
      src/definitions/modules/dimmer.js
  2. 1
      src/definitions/modules/dimmer.less
  3. 12
      src/definitions/modules/transition.js

12
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');

1
src/definitions/modules/dimmer.less

@ -107,6 +107,7 @@
transform-origin: center center;
}
body.animating.in.dimmable,
body.dimmed.dimmable {
overflow: hidden;
}

12
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()

Loading…
Cancel
Save