Вы можете прослушивать изменения DOM на указанном c узле DOM, используя MutationObserver
API, а затем запустить действие:
const targetNode = document.getElementById('my-id');
// Specify which mutations to observe (options)
const config = { attributes: true };
// Simulate the preloader action (webpage load)
setTimeout(function() {
document.querySelector('#my-id').style ='display: none;'
}, 1000)
// Callback function to execute when mutations are observed
const callback = function (mutationsList, observer) {
console.log(`Mutation type: ${mutationsList[0].type}`)
console.log(`ID ${mutationsList[0].target.id}`);
// Make the necessary changes to your target elements here
document.querySelector('body').classList.add('loaded');
};
// Create an observer instance linked to the callback function
const observer = new MutationObserver(callback);
// Start observing the target node for configured mutations
observer.observe(targetNode, config);
.loaded {
background-color: crimson;
}
<div id="my-id">Loading..</div>
Примечание: Весь код является Vanilla JS (нет jQuery).
Пример создан с использованием кода из официальной документации