Fix spider and mouse creation logic to ensure animations only continue if the container is present in the DOM
This commit is contained in:
@@ -182,14 +182,18 @@ function createSpider(container) {
|
||||
|
||||
setTimeout(() => {
|
||||
wrapper.remove();
|
||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||
if (document.body.contains(container)) {
|
||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
|
||||
wrapper.addEventListener('animationend', () => {
|
||||
if (isRetreating) return;
|
||||
wrapper.remove();
|
||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||
if (document.body.contains(container)) {
|
||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||
}
|
||||
});
|
||||
|
||||
container.appendChild(wrapper);
|
||||
@@ -223,7 +227,9 @@ function createMouse(container) {
|
||||
|
||||
mouse.addEventListener('animationend', () => {
|
||||
mouse.remove();
|
||||
setTimeout(() => createMouse(container), Math.random() * 4000 + 2000);
|
||||
if (document.body.contains(container)) {
|
||||
setTimeout(() => createMouse(container), Math.random() * 4000 + 2000);
|
||||
}
|
||||
});
|
||||
|
||||
container.appendChild(mouse);
|
||||
|
||||
Reference in New Issue
Block a user