diff options
Diffstat (limited to 'src/static/client.js')
-rw-r--r-- | src/static/client.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/static/client.js b/src/static/client.js index 5b8b0c8a..0c760500 100644 --- a/src/static/client.js +++ b/src/static/client.js @@ -185,6 +185,7 @@ for (const reveal of document.querySelectorAll('.reveal')) { reveal.classList.add('revealed'); event.preventDefault(); event.stopPropagation(); + reveal.dispatchEvent(new CustomEvent('hsmusic-reveal')); } }); } @@ -527,6 +528,7 @@ const stickyHeadingInfo = Array.from(document.querySelectorAll('.content-sticky- const stickySubheadingRow = stickyContainer.querySelector('.content-sticky-subheading-row'); const stickySubheading = stickySubheadingRow.querySelector('h2'); const stickyCoverContainer = stickyContainer.querySelector('.content-sticky-heading-cover-container'); + const stickyCover = stickyCoverContainer.querySelector('.content-sticky-heading-cover'); const contentHeadings = Array.from(contentContainer.querySelectorAll('.content-heading')); const contentCover = contentContainer.querySelector('#cover-art-container'); @@ -535,6 +537,7 @@ const stickyHeadingInfo = Array.from(document.querySelectorAll('.content-sticky- contentCover, contentHeadings, stickyContainer, + stickyCover, stickyCoverContainer, stickySubheading, stickySubheadingRow, @@ -549,6 +552,20 @@ const topOfViewInside = (el, scroll = window.scrollY) => ( scroll < el.offsetTop + el.offsetHeight ); +function prepareStickyHeadings() { + for (const { + contentCover, + stickyCover, + } of stickyHeadingInfo) { + const coverRevealImage = contentCover.querySelector('.reveal'); + if (coverRevealImage) { + coverRevealImage.addEventListener('hsmusic-reveal', () => { + stickyCover.classList.remove('content-sticky-heading-cover-needs-reveal'); + }); + } + } +} + function updateStickyHeading() { for (const { contentContainer, @@ -620,7 +637,7 @@ function updateStickyHeading() { } document.addEventListener('scroll', updateStickyHeading); - +prepareStickyHeadings(); updateStickyHeading(); // Image overlay ------------------------------------------ |