You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现滚动时文本逐步放大并触发元素显示的效果?

实现滚动文本放大+元素渐显效果

原生HTML/CSS/JavaScript实现方案

这个效果的核心是监听页面滚动,根据滚动进度动态调整文本缩放比例,当缩放达到阈值后触发目标元素的显示。以下是完整实现代码:

HTML结构

<div class="scroll-container">
  <div class="zoom-text">滚动放大我</div>
  <div class="reveal-element">我是滚动后显示的元素</div>
</div>

CSS样式

/* 给容器足够高度,确保页面可滚动 */
.scroll-container {
  height: 150vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* 初始文本样式,设置缩放基准 */
.zoom-text {
  font-size: 2rem;
  transform: scale(1);
  transition: transform 0.1s ease-out; /* 平滑缩放过渡 */
  margin-bottom: 2rem;
}

/* 待显示元素初始状态 */
.reveal-element {
  font-size: 1.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* 元素显示状态 */
.reveal-element.active {
  opacity: 1;
  visibility: visible;
}

JavaScript逻辑

const zoomText = document.querySelector('.zoom-text');
const revealElement = document.querySelector('.reveal-element');
const maxScale = 3; // 文本最大缩放倍数
const triggerThreshold = 0.9; // 触发元素显示的缩放进度(0-1)

window.addEventListener('scroll', () => {
  // 获取元素相对于视口的位置
  const rect = zoomText.getBoundingClientRect();
  // 计算滚动进度:元素顶部从视口顶部到视口底部的过程占比
  const scrollProgress = Math.max(0, Math.min(1, (window.innerHeight - rect.top) / window.innerHeight));
  
  // 根据进度计算当前缩放值
  const currentScale = 1 + (maxScale - 1) * scrollProgress;
  zoomText.style.transform = `scale(${currentScale})`;
  
  // 当进度达到阈值,激活显示元素
  if (scrollProgress >= triggerThreshold) {
    revealElement.classList.add('active');
  } else {
    revealElement.classList.remove('active');
  }
});

简化实现:使用动画库

如果不想手动处理滚动计算,可以用专业的动画库来简化逻辑,比如:

  • GSAP:配合ScrollTrigger插件,能精准控制滚动触发的动画,只需几行代码就能实现复杂的滚动关联效果,还能处理各种边界情况。
  • ScrollMagic:专注于滚动触发动画的库,支持绑定滚动进度到元素样式变化。

关键逻辑说明

  1. 滚动进度计算:通过getBoundingClientRect()获取元素位置,结合视口高度计算滚动时元素的可见比例,以此作为缩放的依据。
  2. 缩放控制:用transform: scale()实现文本放大,配合CSS过渡让缩放更平滑。
  3. 元素显示触发:当滚动进度达到设定的阈值(比如90%),给目标元素添加激活类,通过CSS过渡实现渐显效果。

内容的提问来源于stack exchange,提问作者Adrian Barbur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 22:50:03