当用户滚动到页面部分时触发 CSS 动画

2023-12-14

我的网站上有一个简单的 CSS 动画,我想在其中显示 5 个 div,一次连续显示一个。

一切正常,但我想在用户滚动到我网站上的特定部分时触发该动画(现在动画在页面加载时开始)。

这是我的代码:

<div id="space"></div>
<div id="container">
  <img src="https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-64.png" />
  <img src="https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-64.png" /> 
  <img src="https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-64.png" />
  <img src="https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-64.png" />
  <img src="https://cdn1.iconfinder.com/data/icons/user-pictures/100/male3-64.png" />
</div>

CSS:

#space {
    height: 700px;
    background-color: blue;
}
#container img {
    opacity: 0;
}
@keyframes fdsseq { 
    100% { opacity: 1; }
}
#container img {
    animation: fdsseq .5s forwards;
}
#container img:nth-child(1) {
    animation-delay: .5s;
}
#container img:nth-child(2) {
    animation-delay: 1s;
}
#container img:nth-child(3) {
    animation-delay: 1.5s;
}
#container img:nth-child(4) {
    animation-delay: 2s;
}
#container img:nth-child(5) {
    animation-delay: 2.5s;
}

https://jsfiddle.net/Lwb088x5/


您需要 JavaScript 来执行此操作。

在下面的示例中,scroll附加的事件侦听器,以及animate类被添加到#container元素如果img元素可见:

更新的示例

#container.animate img {
  animation: animation .5s forwards;
}
document.addEventListener('scroll', function (e) {
  var top  = window.pageYOffset + window.innerHeight,
      isVisible = top > document.querySelector('#container > img').offsetTop;

   if (isVisible) {
     document.getElementById('container').classList.add('animate');
   }
});

或者,您也可以使用 jQuery:

更新的示例

$(window).on('scroll', function (e) {
   var top = $(window).scrollTop() + $(window).height(),
       isVisible = top > $('#container img').offset().top;

   $('#container').toggleClass('animate', isVisible);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用户滚动到页面部分时触发 CSS 动画 的相关文章

  • Sass 负变量值?

    我有几个 scss 选择器 其中我使用相同数量的正数和负数 如下所示 padding 0 15px 15px margin 0 15px 20px 15px 我更喜欢对所有 15px 量使用一个变量 但这不起作用 pad 15px padd
  • mailto:相当于电话的链接? [复制]

    这个问题在这里已经有答案了 有没有办法使用 html 和 或 JS 链接图像以便拨打电话 类似于 mailto 链接 如果可能的话 这只会让生活变得更加轻松 假设如果一个人有 Skype 是否可以通过一个按钮为他们打开 Skype 并拨打电
  • 无法在scrollView中滚动

    我有一个屏幕 我可以在输入字段中输入内容并获得相应的搜索结果 该列表在 ScrollView 中呈现 但当键盘打开时 在 Android 中 它仍然不允许我滚动 我怎样才能解决这个问题 return lt gt addressesFound
  • Bootstrap:使用单个选项卡导航控制多个选项卡面板

    我想用一个选项卡导航来控制两个不同的选项卡内容 在 Bootstrap 3 中 我有一个使用逗号分隔数据目标的解决方案 如本例所示 https stackoverflow com a 19719859 1788961 https stack
  • 列表中允许 div 吗? [复制]

    这个问题在这里已经有答案了 我知道DIV inside LI是不允许的 但我最近在许多 大 网站上看到了它 例如粉碎杂志 网页设计师墙 etc 我尝试验证网站 但它们有错误 但没有任何信息DIV in LI 那么我可以在里面使用它吗LI 我
  • 为什么连字符 (-) 分隔的类名在 CSS 中广泛使用 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在浏览了一些网站和其他一些广泛使用的插件和框架中包含的一些 CSS 文件时 发现它们广泛使用连字符分隔的单词作为类名 实际上使用这样的类名有什么
  • 带有旋转文本的垂直导航

    我正在尝试实现一个包含链接的垂直导航菜单 并且我已使用 css3 将链接文本旋转到 270 度 我旋转了它 因为我希望文本从下到上 问题是当我添加顶部填充时 间距不一致 你可以看到我的代码here http jsbin com ravudu
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • 调整离子卡中的图像大小

    我想显示一组图像 并在下面说明 我选择使用 Ionic 卡 我得到这个结果 第一张图片 虽然我想保留现在的相同布局 并添加描述 这是我的代码
  • JSP中如何在两个变量之间插入空格? [复制]

    这个问题在这里已经有答案了 我在 JSP 页面上的表单中有一行 html 如下所示
  • 电子邮件模板 - MS Office Outlook 365 中不显示表格背景图像

    为了电子邮件模板的目的 我需要在 table 它包含图像上的文本 现在我已经尝试过 https stackoverflow com a 15620571 6191987 https stackoverflow com a 15620571
  • 动态检测屏幕高度和屏幕宽度,以精简图像的高度和宽度

    我以前可以display a div标签仅在portrait使用下面提到的代码corrl https stackoverflow com users 15388872 corrl in this https stackoverflow co
  • css:将div制作成圆角并在其3/4处添加边框

    我有这样的代码 div class circle div and css circle border left 1px solid red border bottom 1px solid red border radius 200px wi
  • 如何中和 CSS 定义而不覆盖

    有没有一种方法可以中和元素的 CSS 规则而不覆盖所有内容 例如 我正在使用 Twitter Bootstrap 它有许多预定义的 CSS 定义table 在某些地方 我不想要它们 对某些table元素 我想知道我是否可以做这样的事情 ta
  • 从 3.1 返回后加载 Rails 3(服务器)时出现问题

    Rails 完全菜鸟 我正在使用 Hartl 教程 到了第 4 章 CSS 4 1 2 一切看起来都很顺利 但遇到了一个问题 使页面上的文字看起来
  • 更改 Google Colab Markdown 文本中的字体样式

    这可以改变 Colab 中 Markdown 的字体样式吗 我编写了这段 CSS 代码 但由于它不起作用 我不知道如何使用它 或者是否可能 该代码完美地工作在html文件但无法在 Colab 上运行
  • Skrollr 添加空白

    我已经尝试了一切 我在谷歌上阅读了 4 5 页试图找到适合我的修复程序 已经筋疲力尽了 即使我使用 skrollr 示例 我的问题仍然存在 不是说他们做错了什么 我知道我只是没有正确理解它 因此 我上传了一个演示 仅在移动设备上展示这个尴尬
  • 如何使用 HTML5 Javascript Canvas 获取三个碰撞形状的交集并删除不碰撞的部分?

    我最近专门针对 KonvaJs 发布了类似的问题here https stackoverflow com questions 64603077 how can i get the intersection of three shapes c
  • CSS 字体在 Firefox 中不起作用

    我下面有这个字体代码 它在谷歌浏览器中工作正常 但在火狐浏览器中根本不起作用 为什么
  • 当td内容太宽时,表格溢出父div

    我准备了一个 JSFiddle 来解释 向你展示我的问题 http jsfiddle net nz96C http jsfiddle net nz96C 乍一看还不错 但是当我添加一些文本时 firsttd一旦使用 tds 整个宽度 整个表

随机推荐

  • 列出所有外键 PostgreSQL

    我需要一个返回的查询 表名 字段名 字段类型 约束名 到目前为止我有 select conrelid regclass AS table name regexp replace pg get constraintdef c oid 1 as
  • Gradle,命令行“cmd”、“/c”、“echo doLast!”什么也没做

    我正在读关于Gradle 执行程序并创建了以下内容build gradle task startTomcat type Exec commandLine cmd c echo init startTomcat task stopTomcat
  • 在 Javascript 中获取时区的 utc 偏移量

    我需要一个 Javascript 函数 给定时区 返回当前 UTC 偏移量 例如 theFuncIneed US Eastern gt 240 如今这已成为可能Intl API 实施Intl是基于icu4c 如果您挖掘源代码 您会发现时区名
  • 通过 spring-rabbitmq 自动重试连接到代理

    我读过这个文档片段 RabbitMQ 自动连接 拓扑恢复 自 Spring AMQP 第一个版本以来 该框架提供了其 在代理发生故障时 可以恢复自己的连接和通道 此外 如第 3 1 10 节 配置代理 中所述 RabbitAdmin 将在以
  • 注释时间序列图

    我有一个日期索引数组 x 日期时间对象 和一个实际值数组 y 债券价格 执行以下操作 plot x y 生成一个完美的时间序列图 其中 x 轴标有日期 到目前为止没有问题 但我想在某些日期添加文本 例如 在2009年10月31日 我希望显示
  • 如何控制ConsumerGroup处理消息的并发度

    我正在使用 kafka node ConsumerGroup 来消费来自主题的消息 ConsumerGroup在消费消息时需要调用外部API 甚至可能需要一秒钟才能响应 我希望控制消费队列中的下一条消息 直到收到 API 的响应 以便按顺序
  • 尝试从 SAML 创建声明时出现错误“WIF10201:未找到有效的键映射”

    我正在尝试验证来自第三方 Siteminder IDP 的 SAML 响应 我已经安装了他们提供的证书 当我打电话给验证令牌方法 System IdentityModel Tokens 创建声明 我收到以下错误 WIF10201 找不到有效
  • Postgres 查询获取所有孩子的 id

    我是一个 SQL 菜鸟 到目前为止只编写了非常基本的查询 我有一张看起来像这样的桌子 item full name varchar 65535 item id bigint item owners varchar 255 item appr
  • git lock 错误背后的原因

    我正在一个拥有数百个分支的大型 git 存储库中工作 我在 Windows 上 通常当我git pull 它给了我多个锁定错误 例如 error cannot lock ref refs remotes origin branchname
  • 如何检测 UITableView beginUpdates/endUpdates 上的动画已结束?

    我正在使用插入 删除表格单元格insertRowsAtIndexPaths deleteRowsAtIndexPaths包装成beginUpdates endUpdates 我也在使用beginUpdates endUpdates调整 ro
  • 文件夹权限 - 部分或全部身份引用无法翻译

    我想在远程服务器上为域用户设置文件夹 ACL 但总是收到以下错误消息 部分或全部身份参考无法翻译 我究竟做错了什么 这是我的代码 string folderPath remoteServer testDirectory string acc
  • 两次时间之差(以分钟为单位)[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我见过一些使用 Joda Time 和其他方法来计算两个日期之间以毫秒为单位的差异的示例 但是如何将这些应用到仅以分钟为单位计算两个时间之间的差异呢 例如 下午 2 45 和上午 1
  • PHP 致命错误:调用未定义的函数?

    因此 当我将网站托管在我的网络主机上时 我的网站出现了问题 我收到这个错误 PHP Fatal error Call to undefined function getSkillIcons 奇怪的是 在本地 Xampp 它工作得很好 这就是
  • Qt:如何获取正在运行的 QProcess 的实时输出

    我必须在 QProcess 运行时获取它的输出 因此我编写了以下代码 CommandExecutor C CommandExecutor C mProcessStatus AI UNKNOWN mOnTdiActiveCallback mT
  • 使用 Embed API 嵌入 Google Analytics 位置地图视图

    下面是 Google 分析网站上的视图屏幕截图 地理位置 gt 位置 gt 主要维度 城市 我想嵌入这个确切的视图 或者使用 google 的 Embed API 尽可能类似地复制它 并将其显示在我自己的网站上 我已经按照这里的教程进行操作
  • 为什么要使用指针(性能)?

    我想知道是否有关于原始对象与对象指针的性能基准 我知道在引用类型 例如地图 上使用指针是没有意义的 所以请不要提及它 我知道如果数据需要更新 您 必须 使用指针 所以请不要提及它 我发现的大多数答案 文档基本上都改写了官方文档中的指南 If
  • 类装饰器Nestjs修改类中的每个方法

    我想创建一个装饰器 它可以获取类的所有方法并用某些功能包装它们 对于这个例子 只需像这样记录 export function CustDec
  • MuleStudio studio:工作室目标未能执行

    我在 Mule Studio 工作区 从 Mule Studio 中 复制 粘贴了一个工作项目来创建一个新项目 之后 我可以在新项目上进行 mvn clean 安装 一切正常 然后 在对 pom 进行任何修改 即添加空行 后 我收到以下错误
  • 是否可以将数据绑定到枚举并显示用户友好的值? [复制]

    这个问题在这里已经有答案了 我想显示我的合同的状态 两者声明如下 public enum RentStatus Description Preparation description Preparation Description Acti
  • 当用户滚动到页面部分时触发 CSS 动画

    我的网站上有一个简单的 CSS 动画 我想在其中显示 5 个 div 一次连续显示一个 一切正常 但我想在用户滚动到我网站上的特定部分时触发该动画 现在动画在页面加载时开始 这是我的代码 div div div img src https