Files
landing_page/qdrant-landing/themes/qdrant-2024/assets/js/home-animations.js
T
trean 305aea6b9a New homepage (#2172)
* two new sections

* enterprise capabilities and enterprise ready sections

* sections: engineered-for-builders and performance-by-design

* sections: cta-banner, integrations-logos, solutions

# Conflicts:
#	qdrant-landing/themes/qdrant-2024/assets/css/partials/_cta-banner.scss
#	qdrant-landing/themes/qdrant-2024/layouts/partials/cta-banner.html

* remove old sections from index.html

* wip: home page

* reuse links, carousel width

* globe and globe lights

* globe lights

* finalyzing the globe, add customers icons

* new icons set + svg partial update

* upd icons in the enterprise-ready section

* lines background

* globe lights as gradient and svg

* fix carousel responsiveness

* fix cut box shadow

* accordion slider responsiveness

* new hero

* hero customers

* some hero responsiveness

* customers layout fix

* cards responsiveness

* fixes

* remove floating github link

* hero - bigger screens

* refactor css

* more hero responsiveness

* fix

* hero parallax

* replace svg as img with embedded svg logos

* fix marquee

* slider's tabs responsiveness

* remove horizontal scroll on the mobile

* moved images

* images optim

* moved paths to markdown

* svg -> png

* some refactoring and clean up

* moved scss

* svg to png

* more images optimization and cleaning

* optimizing png

* fix globe cards height

* add reveal effect

* improve reveal effect

* fix for the hero animation in Safari

* removed type:page preventing use-cases page from rendering with newer version of Hugo

* restore static/img/home/reranking.webp

* remove unused files

* formatting

* hero and reveal fixes

* fixes

* update cta banner

* links and content fix

* fixes: content, links, web-ui illustration

* canva testimonial

* upd link

* fix

* replace links

* slider links
2026-03-11 23:27:37 +01:00

42 lines
1.3 KiB
JavaScript

/**
* Hero parallax for home page.
* Only runs when on home page (script loaded conditionally).
* Uses translate3d for Safari GPU acceleration and smooth rendering.
*/
function initHeroParallax() {
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
const hero = document.querySelector('.hero');
if (!hero) return;
const layers = [
{ el: hero.querySelector('.hero__grid'), factor: 0.06, centered: false },
{ el: hero.querySelector('.hero__planet'), factor: 0.2, centered: true },
{ el: hero.querySelector('.hero__blue-haze'), factor: 0.08, centered: true },
{ el: hero.querySelector('.hero__astronauts'), factor: 0.12, centered: true },
].filter(({ el }) => el);
let ticking = false;
function updateParallax() {
const scrollY = window.scrollY;
layers.forEach(({ el, factor, centered }) => {
const y = Math.round(scrollY * factor * 10) / 10;
el.style.transform = centered ? `translate3d(-50%, ${y}px, 0)` : `translate3d(0, ${y}px, 0)`;
});
ticking = false;
}
function onScroll() {
if (!ticking) {
requestAnimationFrame(updateParallax);
ticking = true;
}
}
window.addEventListener('scroll', onScroll, { passive: true });
updateParallax();
}
document.addEventListener('DOMContentLoaded', initHeroParallax);