// Create a function that will handle any intersection between some elements and the viewport. const handleFooterIntersection = function (entries) { // Loop through all the observed elements entries.forEach(entry => { // Check if the element is intersecting the viewport if (entry.isIntersecting) { msgConsole('IntersectionObserver','The footer is visible in the viewport'); if (typeof footerIsNowVisible === 'function') footerIsNowVisible(entry); } else { msgConsole('IntersectionObserver','The footer is invisible in the viewport'); if (typeof footerIsNowInvisible === 'function') footerIsNowInvisible(entry); } }); } const section_footer = document.querySelector("#footer"); if (section_footer) { const footerObserver = new IntersectionObserver(handleFooterIntersection); if (footerObserver) footerObserver.observe(section_footer); } else myLog('No footer to observe');