Back to Blog Index
Parallaxを実装する方法
function handleScroll() {
const scrollY = window.scrollY;
const fadeStart = 0;
const fadeEnd = 300;
// パララックス処理
const parallaxEls = document.querySelectorAll(‘[data-speed]’);
parallaxEls.forEach(el => {
const speed = parseFloat(el.getAttribute(‘data-speed’));
const yPos = scrollY * speed;
el.style.transform = `translateY(${yPos}px)`;
});
// フェード処理(リアルタイムにopacityを変える)
const wrappers = document.querySelectorAll(‘.fv_text_wrapper’);
wrappers.forEach(wrapper => {
const fadeRange = fadeEnd – fadeStart;
const scrollFade = Math.min(Math.max((scrollY – fadeStart) / fadeRange, 0), 1); // 0〜1に正規化
const opacity = 1 – scrollFade;
wrapper.style.opacity = opacity;
});
}
// 実行タイミング
window.addEventListener(‘load’, handleScroll);
window.addEventListener(‘scroll’, handleScroll);
heightが、100vw / 16 *9の計算。heightが0の時に完全に消したいバージョン: