3 回答

TA貢獻1712條經驗 獲得超3個贊
不知何故,我管理了這樣的東西,但我不知道它寫得有多好,因為我對JavaScript了解不多。
var sections = [
"#mainPageSection-1",
"#mainPageSection-2",
"#mainPageSection-3"
],
sectionHeights = [
$("#mainPageSection-1").outerHeight(),
$("#mainPageSection-2").outerHeight(),
$("#mainPageSection-3").outerHeight()
],
scrollBreakpoint = 0,
i = 0;
$(window).scroll(function() {
totalView = $(window).height() + $(this).scrollTop();
if((totalView > scrollBreakpoint) && (i < 3)){
document.querySelector(sections[i]).classList.add("scrolled");
scrollBreakpoint += (sectionHeights[i] + $(window).height()/5.5);
i++;
}
});
.mainPageSection{
height: 800px;
color:white;
}
#mainPageSection-1{
background-color: grey;
}
#mainPageSection-2{
background-color: blue;
}
#mainPageSection-3{
background-color: red;
}
.scrolled{
color: black;
transition: all .5s ease-in-out;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section class="mainPageSection" id="mainPageSection-1">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut vestibulum efficitur pharetra. Duis eget dictum nunc. Donec gravida, nisl ut ultrices malesuada, turpis felis dictum tortor, eu eleifend ante turpis nec metus. Nunc imperdiet ligula eget orci feugiat ultricies. Cras ac ex iaculis, maximus lorem non, luctus nibh. Sed viverra egestas sem, non varius quam maximus non. Fusce nulla quam, tincidunt vitae vulputate mollis, semper eu risus. Praesent vel nisl eu enim ullamcorper congue eget vitae felis. Suspendisse aliquam neque sit amet molestie efficitur. Maecenas ut consectetur purus. Duis eget imperdiet nisl. Praesent ut elit ut tortor laoreet ultricies. Nulla ac orci quam. Curabitur mattis lorem ex, eget laoreet lectus rutrum id. Nulla tincidunt enim vitae lobortis interdum. Donec urna nisi, molestie eu molestie eget, molestie quis diam.</p>
</section>
<section class="mainPageSection" id="mainPageSection-2">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut vestibulum efficitur pharetra. Duis eget dictum nunc. Donec gravida, nisl ut ultrices malesuada, turpis felis dictum tortor, eu eleifend ante turpis nec metus. Nunc imperdiet ligula eget orci feugiat ultricies. Cras ac ex iaculis, maximus lorem non, luctus nibh. Sed viverra egestas sem, non varius quam maximus non. Fusce nulla quam, tincidunt vitae vulputate mollis, semper eu risus. Praesent vel nisl eu enim ullamcorper congue eget vitae felis. Suspendisse aliquam neque sit amet molestie efficitur. Maecenas ut consectetur purus. Duis eget imperdiet nisl. Praesent ut elit ut tortor laoreet ultricies. Nulla ac orci quam. Curabitur mattis lorem ex, eget laoreet lectus rutrum id. Nulla tincidunt enim vitae lobortis interdum. Donec urna nisi, molestie eu molestie eget, molestie quis diam.</p>
</section>
<section class="mainPageSection" id="mainPageSection-3">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut vestibulum efficitur pharetra. Duis eget dictum nunc. Donec gravida, nisl ut ultrices malesuada, turpis felis dictum tortor, eu eleifend ante turpis nec metus. Nunc imperdiet ligula eget orci feugiat ultricies. Cras ac ex iaculis, maximus lorem non, luctus nibh. Sed viverra egestas sem, non varius quam maximus non. Fusce nulla quam, tincidunt vitae vulputate mollis, semper eu risus. Praesent vel nisl eu enim ullamcorper congue eget vitae felis. Suspendisse aliquam neque sit amet molestie efficitur. Maecenas ut consectetur purus. Duis eget imperdiet nisl. Praesent ut elit ut tortor laoreet ultricies. Nulla ac orci quam. Curabitur mattis lorem ex, eget laoreet lectus rutrum id. Nulla tincidunt enim vitae lobortis interdum. Donec urna nisi, molestie eu molestie eget, molestie quis diam.</p>
</section>

TA貢獻1829條經驗 獲得超7個贊
您可以使用“滾動”事件,這是來自w3schools的示例
const scrollableEl = document.getElementById("scrollable-item")
let x = 0;
scrollableEl.addEventListener('scroll', function(e) {
document.getElementById("demo").innerHTML = x += 1;
});
div {
border: 1px solid black;
width: 200px;
height: 100px;
overflow: scroll;
}
<p>Try the scrollbar in div.</p>
<div id="scrollable-item">In my younger and more vulnerable years my father gave me some advice that I've been turning over in my mind ever since.
<br><br>
'Whenever you feel like criticizing anyone,' he told me, just remember that all the people in this world haven't had the advantages that you've had.'</div>
<p>Scrolled <span id="demo">0</span> times.</p>

TA貢獻1911條經驗 獲得超7個贊
你可以在 css 類中滾動。如果你想在javascript中處理滾動,那么你可以檢查overflow
window.scroll
檢查此鏈接 : https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll
添加回答
舉報