Ich habe derzeit eine Anwendung mit UIWebView, die eine scrollbare div mit der Webkit-Überlauf-scrolling: Touch-Eigenschaft hat. Wenn das Seitenmenü geöffnet ist, platziere ich ein Overlay (ein anderes Div) über dem Inhalt, um einen Dimm-Effekt zu erzielen.iOS8 Webkit-Überlauf-Scrolling: Touch mit Overlay
Das Problem ist, dass, wenn das Menü geöffnet ist (und die Überlagerung an Ort und Stelle), wenn der Benutzer schwenkt, das scrollbare Div tatsächlich scrollt, wenn das Overlay sollte dieses Formular zu stoppen.
Nun, in iOS7, war die Lösung, die Webkit-Überlauf-Scrolling hinzuzufügen: touch; zu der Überlagerung. Das funktioniert wie ein Zauber, aber in iOS8 tut es das nicht.
Hier ist ein Link zu einem Beispiel für das Problem. Wenn es auf iOS 7 läuft, funktioniert es wie erwartet, wenn es auf iOS 8 ausgeführt wird, wird der Inhalt auf der Rückseite scrollen.
.scrollable {
width:100%;
height:200px;
-webkit-overflow-scrolling:touch;
overflow:scroll;
}
.overlay {
position:absolute;
width:100%;
overflow:scroll;
height:200px;
-webkit-overflow-scrolling:touch;
background-color:black;
opacity:.5;
transform: translate3d(0,0,0);
-webkit-transform: translate3d(0,0,0);
z-index:10;
}
https://jsfiddle.net/SergioM/57f2da87/9/
Ich habe auch versucht, um versteckte/Auto den Überlauf-x Eigenschaft des scrollbaren div Einstellung, wenn das Menü geöffnet wird, aber das fügt eine schreckliche Flimmern.
Jeder Vorschlag wird sehr geschätzt.
Danke.
Hallo Jan, ist diese Lösung nicht für mich arbeiten, wie dass das Gerät aus bekommen die pan Ereignisse verhindern würde (ich auch die nativ hören). – SergioM
Hey @SergioM, ich habe eine andere Lösung hinzugefügt. Vielleicht funktioniert das besser für dich. – Jan
Hey Jan, danke, aber das habe ich schon ausprobiert. Wenn der Überlauf ausgeblendet wird, flackert der scrollbare Bereich wie auf der ursprünglichen Frage angegeben. – SergioM