我正在嘗試使用JavaScript在我的頁面上檢測滾動條。這樣,當用戶滾動一定數量的頁面時,我可以更改某些元素的類和屬性。這是我的JS功能:Javascript垂直滾動功能
function detectScroll() {
var header = document.querySelector(".headerOrig"),
header_height = getComputedStyle(header).height.split('px')[0],
fix_class = "changeColor";
if(window.pageYOffset > header_height) {
header.classList.add(fix_class);
}
if(window.pageYOffset < header_height) {
header.classList.remove(fix_class);
}
var change = window.setInterval(detectScroll, 5000);
}
,當加載頁面時,我稱之爲:
<body onload="detectScroll();">
不過,我有這個問題 - 我需要建立一個非常小的區間,以使函數被調用並且類會立即更改。但是,然後頁面凍結,除JS功能以外的所有內容都運行得非常緩慢。 有什麼更好的方式在JavaScript中實現這一點?
感謝您的任何意見/建議。
我認爲JavaScript中有一個onscroll事件處理程序。你有沒有試過
? –有'document.addEventListener(「scroll」,function(){console.log(document.body.scrollTop)})''。它比您的解決方案更容易,響應更快。 – veproza