Frage zu javascript
Helen
- javascript
- programmiertechnik
Hallo!
Ich soll ein (korrektes) Programm von einem ausgeschiedenen Mitarbeiter übernehmen. Dabei bin ich auf das folgende script gestoßen, was für mich völlig unverständlich ist. Kann mir jemand ganz grob erklären, wofür dieses gut ist?
<script>
const header = document.getElementById("header");
const footer = document.getElementById("footer");
const scrollbar = document.getElementById("scrollbar");
const scrollbarInner = document.getElementById("scrollbar-inner");
const contentWrapper = document.getElementById("content-wrapper");
const content = document.getElementById("content");
function updateLayout() {
const headerHeight = header.offsetHeight;
const footerHeight = footer.offsetHeight;
// Scrollbar direkt über dem Footer
scrollbar.style.bottom = footerHeight + "px";
// Contentfenster zwischen Header und Scrollbar
contentWrapper.style.top = headerHeight + "px";
contentWrapper.style.bottom = (footerHeight + 20) + "px";
contentWrapper.addEventListener("touchmove", (e) => {
scrollbar.scrollLeft -= e.touches[0].movementX || 0;
});
let lastTouchX = 0;
contentWrapper.addEventListener("touchstart", (e) => {
lastTouchX = e.touches[0].clientX;
});
contentWrapper.addEventListener("touchmove", (e) => {
const currentX = e.touches[0].clientX;
const deltaX = lastTouchX - currentX;
scrollbar.scrollLeft += deltaX; // Scrollbar bewegen
lastTouchX = currentX; // Position aktualisieren
});
// Breite der Scrollbar an Content anpassen
scrollbarInner.style.width = content.scrollWidth + "px";
}
// horizontale Synchronisation
scrollbar.addEventListener("scroll", () => {
contentWrapper.scrollLeft = scrollbar.scrollLeft;
});
contentWrapper.addEventListener("scroll", () => {
scrollbar.scrollLeft = contentWrapper.scrollLeft;
});
updateLayout();
window.addEventListener("resize", updateLayout);
</script>
Hallo Helen,
Hallo!
Ich soll ein (korrektes) Programm von einem ausgeschiedenen Mitarbeiter übernehmen. Dabei bin ich auf das folgende script gestoßen, was für mich völlig unverständlich ist. Kann mir jemand ganz grob erklären, wofür dieses gut ist?
Das Skript baut im Grunde ein eigenes horizontales Scroll-System.
Es macht mehrere Dinge gleichzeitig:
Kurz gesagt:
Der Benutzer scrollt horizontal durch breite Inhalte, während Header und Footer fest bleiben.
Heute würde man meist:
Zum Beispiel:
main {
overflow-x: auto;
scrollbar-width: thin;
}
main::-webkit-scrollbar {
height: 14px;
}
im Wiki:
Bis bald!
Jonathan