Add files via upload
This commit is contained in:
1 parent
45ee14c25a
commit
35d5816588
2 files changed
+3
-26
No files matched your search
+1
-1
@@ -28,7 +28,7 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
|
|||||||
- **Code in 5 Module aufgeteilt** (`js/api.js`, `app.js`, `livemap.js`, `changelog.js`, `extras.js`); geteilter Zustand zentral in api.js deklariert.
|
- **Code in 5 Module aufgeteilt** (`js/api.js`, `app.js`, `livemap.js`, `changelog.js`, `extras.js`); geteilter Zustand zentral in api.js deklariert.
|
||||||
- **Live-Map-Marker werden bewegt statt neu erzeugt** (per tripId wiederverwendet): flüssigere Karte, offene Popups bleiben beim Update offen.
|
- **Live-Map-Marker werden bewegt statt neu erzeugt** (per tripId wiederverwendet): flüssigere Karte, offene Popups bleiben beim Update offen.
|
||||||
- **Radar-Ergebnisanzahl an Zoom gekoppelt** (80/140/200): kleinere API-Responses bei hohem Zoom.
|
- **Radar-Ergebnisanzahl an Zoom gekoppelt** (80/140/200): kleinere API-Responses bei hohem Zoom.
|
||||||
- **Parallax-Effekt mit requestAnimationFrame gedrosselt** (max. 1 Update pro Frame statt pro Mausbewegung).
|
- **Parallax-Effekt komplett entfernt**: Der Header inkl. Menü-Button bewegte sich mit der Maus mit - wirkte unruhig und hatte keinen Nutzen.
|
||||||
- **Alle console.log-Ausgaben entfernt** (Fehler/Warnungen bleiben).
|
- **Alle console.log-Ausgaben entfernt** (Fehler/Warnungen bleiben).
|
||||||
|
|
||||||
## [32.0.0] - 2026-07-02
|
## [32.0.0] - 2026-07-02
|
||||||
|
|||||||
+2
-25
@@ -375,31 +375,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Parallax-Effekt für Header
|
// (Parallax-Effekt entfernt: Der Header inkl. Menü-Button bewegte sich
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
// mit der Maus mit - wirkte unruhig und hatte keinen Nutzen.)
|
||||||
if (window.matchMedia('(hover: hover)').matches) {
|
|
||||||
const header = document.querySelector('.header');
|
|
||||||
if (header) {
|
|
||||||
// Mit requestAnimationFrame gedrosselt: max. 1 Update pro Frame
|
|
||||||
// statt bei jeder einzelnen Mausbewegung (weniger Layout-Arbeit)
|
|
||||||
header.style.transition = 'transform 0.3s ease-out'; // einmalig statt pro Event
|
|
||||||
let parallaxPending = false;
|
|
||||||
let lastX = 0, lastY = 0;
|
|
||||||
document.addEventListener('mousemove', (e) => {
|
|
||||||
lastX = e.clientX;
|
|
||||||
lastY = e.clientY;
|
|
||||||
if (parallaxPending) return;
|
|
||||||
parallaxPending = true;
|
|
||||||
requestAnimationFrame(() => {
|
|
||||||
const x = (lastX / window.innerWidth - 0.5) * 10;
|
|
||||||
const y = (lastY / window.innerHeight - 0.5) * 10;
|
|
||||||
header.style.transform = `translate(${x}px, ${y}px)`;
|
|
||||||
parallaxPending = false;
|
|
||||||
});
|
|
||||||
}, { passive: true });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Smooth Scroll bei Navigation
|
// Smooth Scroll bei Navigation
|
||||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||||
|
|||||||
Reference in new issue
Block a user