Das horizontale Scrollen schlägt fehl mit width = Gerätebreite iscroll

8

Beispielcode hier: Ссылка

Ich versuche, eine mobile Seite mit einem festen Header und einem "Content" -Abschnitt zu erstellen, der extern (hygienisch, aber ansonsten willkürlich) mit HTML gefüllt wird. Ich muss iscroll oder etwas Ähnliches verwenden, da ich das vertikale / horizontale Scrollen und das Zoomen unterstützen muss, das kein eigenes Gegenstück hat.

Das Problem besteht darin, dass mobile Safari mit der Anweisung " width=device-width meta-Ansichtsfenster" alle Elemente auf Blockebene unabhängig von der Breite ihres Inhalts auf die Breite des Bildschirms anpasst, sofern sie keine Breite haben. iscroll betrachtet dann die Breite des Containers (die Breite des Bildschirms) und ist sich nicht bewusst, dass mehr Inhalt horizontal gescrollt werden muss. In diesem Beispiel ist die berechnete Breite für div#container auf meinem iPhone 290px, aber die berechnete Breite für table#really-wide-content ist 1000px.

Gibt es etwas, um die Effekte der Meta-Viewport-Direktive innerhalb eines Divs auf der Seite zu deaktivieren? Beachten Sie, dass ich nicht a priori wissen kann, wie breit der Inhalt ist oder wie seine HTML-Struktur aussieht, obwohl ich Inline-Stile bei Bedarf programmatisch ändern kann.

    
RecursivelyIronic 15.12.2012, 04:30
quelle

1 Antwort

0

Können Sie die Breite von iScroll an einem bestimmten Punkt nach dem Laden festlegen, z. B. in diesem JQuery-Beispiel:

%Vor%

über Ссылка

Gibt es trotzdem eine Möglichkeit, iScroll zu zerstören und neu zu erstellen, nachdem die Seite geladen wurde, wie hier vorgeschlagen: Wie setze ich die dynamische Breite in iScroll für Scroller?

Können Sie die Ansichtsfensterbreite nach dem Laden auf width=device-width einstellen? Vielleicht würde dies iScroll erlauben, zuerst den Inhalt zu laden.

    
JSuar 20.12.2012 13:18
quelle