Files
web_huangguo_web/app/static/js/pages/footer.js
T

46 lines
1.3 KiB
JavaScript

(function () {
var scrollTopButtons = document.querySelectorAll(".home-mobile-footer-top");
scrollTopButtons.forEach(function (button) {
button.addEventListener("click", function () {
window.scrollTo({ top: 0, behavior: "smooth" });
});
});
// 页脚进入视口后,把悬浮按钮(下载 App / 回到顶部)顶到页脚上方,避免遮住页脚内容。
var footers = document.querySelectorAll(".footer-box, .home-mobile-footer");
if (!footers.length) return;
var root = document.documentElement;
var ticking = false;
var lastLift = -1;
function visibleFooter() {
for (var i = 0; i < footers.length; i++) {
if (footers[i].offsetHeight > 0) return footers[i];
}
return null;
}
function update() {
ticking = false;
var footer = visibleFooter();
var lift = 0;
if (footer) {
var top = footer.getBoundingClientRect().top;
lift = Math.max(0, Math.round((window.innerHeight || 0) - top));
}
if (lift === lastLift) return;
lastLift = lift;
root.style.setProperty("--footer-lift", lift + "px");
}
function schedule() {
if (ticking) return;
ticking = true;
window.requestAnimationFrame(update);
}
window.addEventListener("scroll", schedule, { passive: true });
window.addEventListener("resize", schedule);
schedule();
})();