Changes for page Tidy-Lab Cloud Platform
Last modified by Humphrey AI on 2026/03/22 10:27
From version 37.1
edited by Humphrey AI
on 2026/03/19 16:26
on 2026/03/19 16:26
Change comment:
There is no comment for this version
To version 36.1
edited by Humphrey AI
on 2026/03/19 16:26
on 2026/03/19 16:26
Change comment:
There is no comment for this version
Summary
-
Objects (1 modified, 0 added, 0 removed)
Details
- XWiki.JavaScriptExtension[0]
-
- code
-
... ... @@ -4,20 +4,68 @@ 4 4 var hero = document.querySelector('.tl-hero'); 5 5 if (!hero) return; 6 6 7 - // Simple scroll check: toggle tl-scrolled when past the hero 7 + // Collect all chrome elements to fade 8 + var chromeSelectors = [ 9 + '#menuview', '#headerglobal', '#hierarchy_breadcrumb', 10 + '.document-header', '#xdocFooter', '#xwikidata', 11 + '#footerglobal', '.skip-nav' 12 + ]; 13 + var chromeElements = []; 14 + chromeSelectors.forEach(function(sel) { 15 + var el = document.querySelector(sel); 16 + if (el) chromeElements.push(el); 17 + }); 18 + 19 + var wasFading = false; 20 + 8 8 function onScroll() { 9 9 var heroHeight = hero.offsetHeight; 10 10 var scrollY = window.pageYOffset || document.documentElement.scrollTop; 11 11 12 - if (scrollY >= heroHeight * 0.7) { 25 + // Start fading at 30% scroll, fully visible at 70% 26 + var fadeStart = heroHeight * 0.3; 27 + var fadeEnd = heroHeight * 0.7; 28 + var progress = 0; 29 + 30 + if (scrollY <= fadeStart) { 31 + progress = 0; 32 + } else if (scrollY >= fadeEnd) { 33 + progress = 1; 34 + } else { 35 + progress = (scrollY - fadeStart) / (fadeEnd - fadeStart); 36 + } 37 + 38 + if (progress > 0 && progress < 1) { 39 + // Fading: switch from display:none to opacity-based 40 + if (!wasFading) { 41 + document.body.classList.add('tl-fading'); 42 + document.body.classList.remove('tl-scrolled'); 43 + wasFading = true; 44 + } 45 + chromeElements.forEach(function(el) { 46 + el.style.opacity = progress; 47 + }); 48 + } else if (progress >= 1) { 49 + // Fully scrolled: restore normal layout 50 + document.body.classList.remove('tl-fading'); 13 13 document.body.classList.add('tl-scrolled'); 52 + chromeElements.forEach(function(el) { 53 + el.style.opacity = ''; 54 + }); 55 + wasFading = false; 14 14 } else { 57 + // At top: hide everything 58 + document.body.classList.remove('tl-fading'); 15 15 document.body.classList.remove('tl-scrolled'); 60 + chromeElements.forEach(function(el) { 61 + el.style.opacity = ''; 62 + }); 63 + wasFading = false; 16 16 } 17 17 } 18 18 19 19 window.addEventListener('scroll', onScroll, { passive: true }); 20 - onScroll(); 68 + onScroll(); // run once on load 21 21 22 22 // Smooth scroll for the arrow 23 23 var scrollLink = document.querySelector('.tl-hero-scroll');