gilroyhacks.com/js/scroll_element.js
2022-06-30 23:16:51 -07:00

74 lines
2.5 KiB
JavaScript

// Gilroy Hacks Website Source Code -> JS (https://gilroyhacks.com)
// Creating an observer when the user views that element
const observer = new IntersectionObserver(entries => {
// Loop over the entries
entries.forEach(entry => {
// If the element is visible
if (entry.isIntersecting) {
// Add the animation class
entry.target.classList.add('slide-animation');
}
});
});
const observer_prize_2 = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-2');
}
});
});
const observer_prize_1 = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-1');
}
});
});
const observer_prize_3 = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-3');
}
});
});
const observer_team_img = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-card-img');
}
});
});
const observer_team_desc = new IntersectionObserver(entries => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-card-desc');
}
});
});
const entries = document.querySelectorAll('.team-picture');
entries.forEach(entry => {
observer_team_img.observe(entry);
});
const entries_desc = document.querySelectorAll('.team-description');
entries_desc.forEach(entry => {
observer_team_desc.observe(entry);
});
// Adding the class animations to these elements
let elements_id = ['#description-heading', '#event-main-box', '#timeline', '#signup-title', '#steps-card', '#sponsor-title', '#sponsor-container', '#map-article', '#rules-description', '#guidelines', '#code-of-conduct', '#photo-release-container', '#second-column', '#first-column', '#third-column', '#prize-box', '#administration', '#logistics', '#outreach', '#tech', '#marketing'];
elements_id.forEach(entry => {
observer.observe(document.querySelector(entry));
});
observer_prize_2.observe(document.querySelector('#second-place'));
observer_prize_1.observe(document.querySelector('#first-place'));
observer_prize_3.observe(document.querySelector('#third-place'));