making user index look cool

This commit is contained in:
Richard Mikloš 2024-01-25 15:50:51 +01:00
parent b8b4d0ff54
commit aa2f0f7181
3 changed files with 50 additions and 2 deletions

@ -5,4 +5,7 @@
<h1 class="user-index-h1">Hello, <span class="outlined-text"><template name="username"></template></span>.</h1>
<h2 class="user-index-h2">What would you like to watch?</h2>
</div>
</header>
</header>
<script src="/scripts/pages/user/main.js" defer></script>

@ -0,0 +1,33 @@
document.addEventListener('DOMContentLoaded', function () {
var headerText = document.getElementById('headerText');
var h1 = document.querySelector('.user-index-h1');
var h2 = document.querySelector('.user-index-h2');
// Function to check if an element is in the viewport
function isInViewport(element) {
var rect = element.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
// Function to handle the scroll event
function handleScroll() {
if (isInViewport(headerText)) {
h1.classList.add('visible');
h2.classList.add('visible');
} else {
h1.classList.remove('visible');
h2.classList.remove('visible');
}
}
// Attach the handleScroll function to the scroll event
window.addEventListener('scroll', handleScroll);
// Initial check on page load
handleScroll();
});

@ -19,4 +19,16 @@
.outlined-text {
-webkit-text-fill-color: transparent;
-webkit-text-stroke: 2.2px #8c00ff;
}
}
.user-index-h1,
.user-index-h2 {
opacity: 0; /* Initially set opacity to 0 */
transform: translateX(-20px); /* Move elements outside the viewport to the left */
transition: opacity 0.8s ease, transform 0.8s ease; /* Apply transition effect */
}
.visible {
opacity: 1;
transform: translateX(0); /* Move elements back to their original position */
}