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(() => {
|
setTimeout(() => {
|
||||||
wrapper.remove();
|
wrapper.remove();
|
||||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
if (document.body.contains(container)) {
|
||||||
|
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||||
|
}
|
||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
|
|
||||||
wrapper.addEventListener('animationend', () => {
|
wrapper.addEventListener('animationend', () => {
|
||||||
if (isRetreating) return;
|
if (isRetreating) return;
|
||||||
wrapper.remove();
|
wrapper.remove();
|
||||||
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
if (document.body.contains(container)) {
|
||||||
|
setTimeout(() => createSpider(container), Math.random() * 5000 + 1000);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
container.appendChild(wrapper);
|
container.appendChild(wrapper);
|
||||||
@@ -223,7 +227,9 @@ function createMouse(container) {
|
|||||||
|
|
||||||
mouse.addEventListener('animationend', () => {
|
mouse.addEventListener('animationend', () => {
|
||||||
mouse.remove();
|
mouse.remove();
|
||||||
setTimeout(() => createMouse(container), Math.random() * 4000 + 2000);
|
if (document.body.contains(container)) {
|
||||||
|
setTimeout(() => createMouse(container), Math.random() * 4000 + 2000);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
container.appendChild(mouse);
|
container.appendChild(mouse);
|
||||||
|
|||||||
Reference in New Issue
Block a user