Javascript 当我想在全局对象中使用一个或多个滚动动作时?
当我在滚动手势中接近页脚时,我希望粘性页眉关闭,还有一个函数为链接提供一个.active类 如以下示例所示,当我想在全局对象中使用多个滚动动作时 在性能和可用性方面,你认为我应该怎么做Javascript 当我想在全局对象中使用一个或多个滚动动作时?,javascript,object,scroll,Javascript,Object,Scroll,当我在滚动手势中接近页脚时,我希望粘性页眉关闭,还有一个函数为链接提供一个.active类 如以下示例所示,当我想在全局对象中使用多个滚动动作时 在性能和可用性方面,你认为我应该怎么做 const Obj = { // variables stickyNearOfferClose() { let scrollPos; const elHeader = document.querySelector("header"); const elOffer
const Obj = {
// variables
stickyNearOfferClose() {
let scrollPos;
const elHeader = document.querySelector("header");
const elOffer = document.querySelector(".offer");
const documentOffset = elOffer.offsetTop;
let stickyClose = () => {
elHeader.classList.toggle("sticky", window.scrollY);
if (scrollPos >= documentOffset) {
elHeader.classList.add("hide");
} else {
elHeader.classList.remove("hide");
}
};
window.addEventListener("scroll", () => {
scrollPos = window.scrollY;
requestAnimationFrame(stickyClose);
});
},
spyScrolling() {
let scrollPos;
const sections = document.querySelectorAll(".hero");
let scrollActiveUrl = () => {
for (let s in sections) {
if (
sections.hasOwnProperty(s) &&
sections[s].offsetTop <= scrollPos + 150
) {
const id = sections[s].id;
document.querySelector(".active").classList.remove("active");
document.querySelector(`a[href*=${id}]`).classList.add("active");
}
}
};
window.addEventListener("scroll", () => {
scrollPos = document.documentElement.scrollTop || document.body.scrollTop;
requestAnimationFrame(scrollActiveUrl);
});
}
init(){
this.stickyNearOfferClose();
this.spyScrolling()
}
};
const Obj={
//变数
粘滞物{
让我们来讨论一下;
const elHeader=document.querySelector(“header”);
const elOffer=document.querySelector(“.offer”);
const documentOffset=elOffer.offsetTop;
让stickyClose=()=>{
elHeader.classList.toggle(“sticky”,window.scrollY);
如果(滚动位置>=文档偏移量){
elHeader.classList.add(“hide”);
}否则{
elHeader.classList.remove(“hide”);
}
};
window.addEventListener(“滚动”,()=>{
scrollPos=window.scrollY;
requestAnimationFrame(stickyClose);
});
},
斯皮斯克罗林(){
让我们来讨论一下;
const sections=document.queryselectoral(“.hero”);
让scrollActiveUrl=()=>{
for(让我们分段){
如果(
第3节拥有自己的财产&&
第[s]节。偏移{
scrollPos=document.documentElement.scrollTop | | document.body.scrollTop;
requestAnimationFrame(scrollActiveUrl);
});
}
init(){
这个。粘滞物为圆形();
这是spyScrolling()
}
};