2016-09-08 2 views
1

Meine mobile navbar ist Position am unteren Rand des Bildschirms fixiert und überläuft nach rechts. Ich möchte in der Lage sein, dies horizontal zu scrollen, skrollr scheint jedoch das Scroll-Ereignis einzufangen und es in eine vertikale Scroll zu übersetzen.Mobile navbar horizontale scroll auf Skrollr Seite

Sobald ich Skrollr deaktivieren, kann ich die Navigationsleiste horizontal scrollen.

Ich habe versucht, den Zindex der Navbar so hoch wie möglich zu bringen, aber skrollr nimmt immer noch die Berührung darüber.

Ist das überhaupt möglich?

EDIT:

gedacht, um eine Skizze zu laden, was ich will es klar zu machen, erreichen.

Das Overlay wird Position fixiert, am unteren Rand des Bildschirms sitzt, z über alles indiziert, mit seinen überquellenden Inhalt nach rechts:

white-space: nowrap; overflow-x: auto; overflow-y: hidden; 

Auf Handy, das Overlay Ziehen beginnt die gesamte Seite scrollen, und das Overlay scrollt nicht von links nach rechts. Wenn ich das horizontale Mausrad verwende, scrollt es, aber nicht bei Berührung.

enter image description here

+0

teilen Sie Ihren Code –

+0

Hier ist ein [Codepen] (http://codepen.io/anon/pen/ozxgKy) (aber Sie müssen dies anzeigen ist ein mobiler Emulator, um das Problem zu sehen, wie Sie blättern können die Überlagerung mit normaler Scroll - nicht mit Berührung) – b0Gd4N

Antwort

0

es geschafft, dies zu festen durch Fortpflanzung auf touchmove, touchstart und touchend Ereignisse, auf dem Overlay-Element zu stoppen:

$overlay.on('touchmove touchstart touchend', function(e) { e.stopPropagation(); });

dies auf Links brach Klopfen, das innerhalb des Overlay sind, aber das Hinzufügen eines Dummy-Hörers zu ihnen reparierte es:

$overlayLinks.on('touchmove touchstart touchend', function() { return true; });