大家好,我有個問題不知道該怎麼做才能實現!
是這樣的,我希望在滾動文章時比方說滾動到 service 這個區塊的文章時,此時 header 的 service 就可以增加黃色的 CSS 樣式,但是我只會做到點擊時增加樣式,怎麼滾動的時候改變 header 的樣式就不知道了?
謝謝大家的幫助。
我的程式碼
給你一個方向,需要頁面綁定監聽,當畫面滾動到標籤高度時,自動幫你把 header 導航條變色。
範例:
/* 獲取所有 item */
const items = document.querySelectorAll('.item');
/* 獲取內容 */
const content = document.querySelector('.content');
/* 獲取每個 section */
const sections = document.querySelectorAll('section');
/* 把每個 section 高度傳進 sectionY 裡 */
const sectionY = []
sections.forEach(e => sectionY.push(e.offsetTop - 148));
// console.log(sectionY)
/* 內容監聽並產生互動
* 這個步驟還有更好的做法可以優化
* 這裡用最簡單直白的方式
*/
content.addEventListener('scroll', (e)=>{
if (sectionY[1] > e.target.scrollTop) {
items[1].classList.remove('active');
items[0].classList.add('active');
} else {
items[0].classList.remove('active');
items[1].classList.add('active');
}
}, false)