Skip to content

Commit cc18f56

Browse files
authored
Merge pull request usablica#556 from ashwinaggarwal/feature/overlayFixOnExit
Remove multiple overlay layers if present
2 parents 506b0c1 + 4dbbcc6 commit cc18f56

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

intro.js

+14-14
Original file line numberDiff line numberDiff line change
@@ -369,22 +369,22 @@
369369
* @param {Object} targetElement
370370
*/
371371
function _exitIntro(targetElement) {
372-
//remove overlay layer from the page
373-
var overlayLayer = targetElement.querySelector('.introjs-overlay');
374-
375-
//return if intro already completed or skipped
376-
if (overlayLayer == null) {
377-
return;
372+
//remove overlay layers from the page
373+
var overlayLayers = targetElement.querySelectorAll('.introjs-overlay');
374+
375+
if (overlayLayers && overlayLayers.length > 0) {
376+
for (var i = overlayLayers.length - 1; i >= 0; i--) {
377+
//for fade-out animation
378+
var overlayLayer = overlayLayers[i];
379+
overlayLayer.style.opacity = 0;
380+
setTimeout(function () {
381+
if (this.parentNode) {
382+
this.parentNode.removeChild(this);
383+
}
384+
}.bind(overlayLayer), 500);
385+
};
378386
}
379387

380-
//for fade-out animation
381-
overlayLayer.style.opacity = 0;
382-
setTimeout(function () {
383-
if (overlayLayer.parentNode) {
384-
overlayLayer.parentNode.removeChild(overlayLayer);
385-
}
386-
}, 500);
387-
388388
//remove all helper layers
389389
var helperLayer = targetElement.querySelector('.introjs-helperLayer');
390390
if (helperLayer) {

0 commit comments

Comments
 (0)