我正在使用barba.js进行页面转换,但是当我使用它的其他js文件时,我很难加载它。
下面是一个简单的功能,该功能仅在第一次页面加载时起作用,而在页面之间进行任何Barba转换后则不起作用。
这是其中一个JS文件的运行脚本功能
我在做什么错?如何解决所有barba.js转换后该脚本的问题?
// Function to call when re-initializing footer
function initfooter() {
let scrollDown = false;
let pageBottom = null;
let updated = null;
let footer = null;
window.onload = () => {
footer = document.querySelector(".footer");
window.onwheel = e => {
handleScroll(e);
};
};
handleScroll = e => {
scrollDown = e.deltaY >= 0;
pageBottom =
window.innerHeight + window.scrollY >= document.body.offsetHeight;
if (!updated) window.requestAnimationFrame(toggleFooter);
updated = true;
};
toggleFooter = () => {
if (scrollDown && pageBottom) {
show();
} else if (!scrollDown) {
hide();
}
updated = false;
};
show = () => {
if (footer.classList.contains("footer-hide")) {
footer.classList.remove("footer-hide");
footer.classList.add("footer-show");
}
};
hide = () => {
if (
footer.classList.contains("footer-show") ||
!footer.classList.contains("footer-hide")
) {
footer.classList.remove("footer-show");
footer.classList.add("footer-hide");
}};
}
// Init Footer first time round
$(document).ready(function() {
initfooter();
});
// Re-init footer after barba transition
barba.hooks.afterEnter(() => {
initfooter();
});