diff --git a/js/angular/service/loading.js b/js/angular/service/loading.js index 20440daa38..13e81e59c3 100644 --- a/js/angular/service/loading.js +++ b/js/angular/service/loading.js @@ -145,7 +145,7 @@ function($ionicLoadingConfig, $document, $ionicTemplateLoader, $ionicBackdrop, $ self.element.addClass('visible'); ionic.requestAnimationFrame(function() { self.isShown && self.element.addClass('active'); - $document[0].body.classList.add('loading-active'); + self.isShown && $document[0].body.classList.add('loading-active'); }); } }); @@ -158,11 +158,8 @@ function($ionicLoadingConfig, $document, $ionicTemplateLoader, $ionicBackdrop, $ $ionicBackdrop.release(); $ionicBackdrop.getElement().removeClass('backdrop-loading'); } - // wrapping in a timeout to make process asyncronous - $timeout(function(){ - self.element.removeClass('active'); - $document[0].body.classList.remove('loading-active'); - }, 10); + self.element.removeClass('active'); + $document[0].body.classList.remove('loading-active'); setTimeout(function() { !self.isShown && self.element.removeClass('visible'); }, 200); diff --git a/test/unit/angular/service/loading.unit.js b/test/unit/angular/service/loading.unit.js index 9ee62e1ffd..36f0a9cf69 100644 --- a/test/unit/angular/service/loading.unit.js +++ b/test/unit/angular/service/loading.unit.js @@ -89,7 +89,6 @@ describe('$ionicLoading service', function() { $timeout.flush(); expect(angular.element(document.body).hasClass('loading-active')).toBe(true); loader.hide(); - $timeout.flush(); expect(angular.element(document.body).hasClass('loading-active')).toBe(false); }));