如何解决滚动进度指示器不适用于 fullpage.js
我对 Javascript 很陌生,我正在为自己创建一个新的投资组合网站。目前我正面临滚动进度指示器的问题。它不起作用。在我添加 fullpage.js 之前它一直在工作。我在下面附上了我的代码,很想知道如何解决这个问题。
谢谢!!
HTML
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<Meta charset="utf-8">
<title>Aaron</title>
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/3.1.2/fullpage.min.css" integrity="sha512-4rPgyv5iG0PZw8E+oRdfN/Gq+yilzt9rQ8Yci2jJ15rAyBmF0HBE4wFjBkoB72cxBeg63uobaj1UcNt/scV93w==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.11.4/TweenMax.min.js"></script>
</head>
<body>
<!-- Navigation -->
<!-- <header>
<h4 class="logo">LIGHT</h4>
</a>
<nav>
<ul>
<li><a href="#hero">HOME</a></li>
<li><a href="#about">ABOUT</a></li>
<li> <a href="#contact">CONTACT</a></li>
</ul>
</nav>
</header> -->
<div id="fullpage">
<div class="section one">
Section ONE
</div>
<div class="section two">
Section TWO
</div>
<div class="section three">
Section THREE
</div>
<div class="section four">
Section FOUR
</div>
</div>
<div class="progress-section">
<div class="progress-bar-wrap">
<div class="progress-bar"></div>
</div>
<div class="progress-num"></div>
</div>
<!-- Main Container Ends -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullPage.js/3.1.2/fullpage.min.js" integrity="sha512-gSf3NCgs6wWEdztl1e6vUqtRP884ONnCNzCpomdoQ0xXsk06lrxJsR7jX5yM/qAGkPGsps+4bLV5IEjhOZX+gg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="scripts.js"></script>
</body>
</html>
CSS
* {
margin: 0;
padding: 0;
Box-sizing: border-Box;
}
body {
height: 100%;
background-color:#111111;
color: white;
}
body::-webkit-scrollbar {
display: none;
}
.progress-section {
position: fixed;
right: 50px;
top: 40%;
width: 60px;
height: 20%;
display: flex;
justify-content: space-between;
wil-change: transform;
transition: 0.3s ease-out;
z-index: 1;
}
.progress-bar-wrap {
position: relative;
width: 3px;
border: 1px solid black;
border-radius: 10px;
overflow: hidden;
background-color: rgb(70,70,70);
}
.progress-bar {
position: absolute;
bottom: 0;
width: 100%;
height: 0%;
background-color: rgb(189,189,189);
}
/* .section {
height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
font-size: 3rem;
scroll-snap-align: start;
} */
.one {
background: gray;
}
.two {
background: dark gray;
}
.three {
background: blue;
}
.four {
background: purple;
}
Javascript
let progressSection = document.querySelector('.progress-section');
let progressBar = document.querySelector('.progress-bar');
let progressNum = document.querySelector('.progress-num');
let x,y;
function updateProgressBar(){
progressBar.style.height = `${getScrollPercentage()}%`;
progressNum.innerText = `${Math.ceil(getScrollPercentage())}%`
requestAnimationFrame(updateProgressBar)
}
function getScrollPercentage(){
return ((window.scrollY) / (document.body.scrollHeight - window.innerHeight)*100)
};
updateProgressBar()
;
new fullpage('#fullpage',{
licenseKey: 'My License Key :)',autoScrolling: true,})
解决方法
您的滚动指示器依赖于页面的滚动位置。 fullPage.js 默认使用 CSS3 硬件加速动画,因此不会使用“可滚动”内容,而是使用 css3 过渡模拟滚动。
要解决此问题,请使用本示例中的 fullPage.js 选项 scrollBar: true
。
https://alvarotrigo.com/fullPage/examples/scrollBar.html
代码在这里: https://github.com/alvarotrigo/fullPage.js/blob/master/examples/scrollBar.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。