javascript - 当父部分在滚动时可见时为 div 设置动画
问题描述
我有这个工作,但似乎一路搞砸了。
我正在使用滚动劫持,每次滚动时都会将用户带到一个新的部分/卡片。
每次用户滚动到新的部分/卡片时,它都会添加一个可见的类。
我以此为基础https://codyhouse.co/gem/page-scroll-effects
<section class="cd-section visible">
<div>
<h2>Page Scroll Effects</h2>
</div>
</section>
然后,当用户滚动到一个新部分时,它会删除并将可见部分添加到下一个部分。
我现在正在为每个部分制作基本内容的动画,例如英雄文本等。
<section class="cd-section visible">
<div class="home__content-slide-right">
<h2>Page Scroll Effects</h2>
</div>
</section>
我正在使用班级名称;home__content-slide-right在这里暂时使用转换为该文本设置动画,您可以在下面看到;
.home__content-slide-right {
transform: translateX(-50px);
}
我是怎么做的,只是将.visible附加到 CSS 后面,你可以在下面看到;
.visible .home__content-slide-right {
transform: translateX(0);
}
这是有效的,所以当我滚动到动画播放的每个页面时,但现在它似乎只在加载整个页面时才工作一次,仅此而已。
我试图删除一些东西,但到目前为止没有运气,只是想知道这里是否有其他人有理由让它不起作用。
------编辑------
我在下面添加了一些图片,以便您了解我的问题。
第一个图像是具有.visible类的部分,因此应该播放动画。
尽管当我离开该部分并且 .visible 类被删除时,您可以看到css 保持不变。
解决方案
看起来您已将“可见”类应用于目标部分的父元素。
你的CSS:
.visible .home__content-slide-right {
transform: translateX(0);
}
被编写以便具有 .visible 类的该元素的任何父级都将应用此 css 规则。如果要确保仅在将可见添加到同一部分时才触发,请像这样重写 css:
section.visible .home__content-slide-right {
transform: translateX(0);
}
或者确保没有父元素应用了可见类,如果它是不必要的。
推荐阅读
- react-native - mapbox 中的离线服务反应原生
- python-3.x - 需要帮助来抓取“显示更多”按钮
- angularjs - 将 Microsoft 身份验证链接到 AngularJS SPA 前端
- floating-point - 如何将浮点数限制为小数点后1位
- node.js - 测试异步函数未抛出的错误
- javascript - 使用 nginx 和 pm2 时出现 Requrie 堆栈错误
- scorm - 如何保存和检索学生的回答 SCORM?
- python - Django REST API 追随者系统
- python - 如何在python中用转义版本替换特殊字符
- python - apt - dpkg python-rpi.gpio 依赖问题