From ef5913ba1d4699584616eb3d94f529cc312403d8 Mon Sep 17 00:00:00 2001 From: Jack Lukic Date: Tue, 10 May 2016 15:20:15 -0400 Subject: [PATCH] Fix condition where progress could continue firing interval indefinitely if removed from DOM --- src/definitions/modules/progress.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/definitions/modules/progress.js b/src/definitions/modules/progress.js index 132199d7c..f7b79b970 100644 --- a/src/definitions/modules/progress.js +++ b/src/definitions/modules/progress.js @@ -452,7 +452,16 @@ $.fn.progress = function(parameters) { clearInterval(module.interval); $bar.one(transitionEnd + eventNamespace, animationCallback); animating = true; - module.interval = setInterval(module.set.labels, settings.framerate); + module.interval = setInterval(function() { + let + isInDOM = $.contains(document.documentElement, element) + ; + if(!isInDOM) { + clearInterval(module.interval); + animating = false; + } + module.set.labels(); + }, settings.framerate); }, labels: function() { module.verbose('Setting both bar progress and outer label text');