javascript - 滚动动画的问题,有人有建议吗?
问题描述
我正在尝试制作一个滚动动画与 css snap on scroll 相结合。
我想要做的是只需滚动即可捕捉到下一部分,但还要使用 AOS 库为该部分设置动画。但是 AOS 库在与 css snap 方法结合使用时不起作用。
这是我的代码,有人知道如何使它工作吗?
https://codesandbox.io/s/zealous-ives-4ikb3?file=/src/App.js
解决方案
你想要这样的动画吗?
<!DOCTYPE html>
<html>
<head>
<style>
.header {
position: fixed;
top: 0;
z-index: 1;
width: 100%;
padding:10px;
background-color: #f1f1f1;
}
.progress-container {
width: 100%;
height: 8px;
background: grey;
}
.progress-bar {
height: 8px;
background: green;
width: 0%;
}
</style>
</head>
<body>
<div class="header">
Scroll Indicator - Scroll Down to See The Effect
<div class="progress-container">
<div class="progress-bar" id="myBar"></div>
</div>
</div>
<div class="content">
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
<p>blablablablablablablablablablablablablablab
</div>
<script>
// When the user scrolls the page, execute myFunction
window.onscroll = function() {myFunction()};
function myFunction() {
var winScroll = document.body.scrollTop || document.documentElement.scrollTop;
var height = document.documentElement.scrollHeight - document.documentElement.clientHeight;
var scrolled = (winScroll / height) * 100;
document.getElementById("myBar").style.width = scrolled + "%";
}
</script>
</body>
</html>
推荐阅读
- mysql - 现在是使用 meilisearch 之类的解决方案的合适时机吗?
- javascript - 根据输入的数字向数组添加元素
- node.js - MongoDB中不同集合的聚合
- php - 谷歌人员 API | 从回复中提取电子邮件地址 | PHP
- mysql - 循环中的节点 JS 回调
- node.js - 如何修复“请等待几分钟再试一次”错误instagram?
- css - 带有溢出-y的光滑滑块
- java - 如何使用java处理缓存中的锁定(ConcurrentHashMap)
- numpy - 比较 bincount 和 add.at
- mongodb - 如何在 mogodb 或任何其他最佳方法中存储超过 16MB 的文档