stylescape
Version:
Stylescape is a visual identity framework developed by Scape Agency.
52 lines • 2.04 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScrollElementManager = void 0;
class ScrollElementManager {
constructor(contentSelector, storageKey = "scrollpos", debug = false) {
this.contentElement = document.querySelector(contentSelector);
this.storageKey = storageKey;
this.debug = debug;
if (!this.contentElement) {
if (this.debug)
console.warn("ScrollElementManager: Element not found:", contentSelector);
return;
}
this.initialize();
}
initialize() {
window.addEventListener("load", this.loadScrollPosition.bind(this));
this.contentElement?.addEventListener("scroll", this.updateScrollPosition.bind(this));
if (this.debug)
console.log("ScrollElementManager initialized.");
}
loadScrollPosition() {
try {
const scrollpos = sessionStorage.getItem(this.storageKey);
if (scrollpos !== null && this.contentElement) {
this.contentElement.scrollTop = parseInt(scrollpos, 10);
sessionStorage.removeItem(this.storageKey);
if (this.debug)
console.log("Scroll position restored:", scrollpos);
}
}
catch (err) {
if (this.debug)
console.error("ScrollElementManager error loading scroll position:", err);
}
}
updateScrollPosition() {
try {
if (this.contentElement) {
sessionStorage.setItem(this.storageKey, this.contentElement.scrollTop.toString());
if (this.debug)
console.log("Scroll position saved:", this.contentElement.scrollTop);
}
}
catch (err) {
if (this.debug)
console.error("ScrollElementManager error saving scroll position:", err);
}
}
}
exports.ScrollElementManager = ScrollElementManager;
//# sourceMappingURL=ScrollElementManager.js.map