Servus,
vielleicht hat hier ja auch einer einen kleinen Denkanstoß.
Problemstellung:
Ich arbeite mit einer relativ komplexen Seite. Grundsätzlich eine One-Page, mit absoluten Positionen aller Elemente. Das Scrollen wird über ein (mehr oder weniger) komplexes JS realisiert, das noch einige andere Dinge steuert. Ausschlaggebend ist hier eine "data-position", die ich auch jederzeit abfragen kann.
Die Container, die durchgescrollt werden, sollen zu bestimmten Zeitpunkten auftauchen. Wenn sie eine Position im sichtbaren Bereich erreicht haben, möchte ich das Scrollen für einen Moment... tja... "aussetzen". Sprich: der Besucher scrollt munter weiter, aber es passiert erstmal für n Pixel nix.
Da die Elemente ausnahmslos absolut positioniert sind, funktioniert eine Lösung durch das Hinzufügen einer CSS-Klasse (100% Höhe, overflow auf hidden) _nicht_. Witzigerweise klappt es auf mobilen Geräten mit einem bind auf den body (preventDefault).
Aktuell arbeite ich mit
function noScroll() {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
}
was aber nicht so richtig seinen Dienst verrichtet.
Erschwerend kommt hinzu, dass keine Scrollbar vorhanden ist. Die einzelnen Punkte können aber über entsprechende Anker angesteuert werden (kennt man ja von den Slidern).
Ein kleiner Fingerzeig wäre hilfreich.
PS: stackoverflow hab ich schon durch, auch einige andere Sourcen.
PPS: Link zum Projekt nur per PN an Leute, die ich hier kenne. Ansonsten sorry.
PPPS: Eine entsprechendes Scrollen mit der Tastatur bekomme ich abgefangen, das ist an der Stelle schon gelöst. :)