2012-12-15 15 views
8

Przykład kod tutaj: http://pastebin.com/95z3pftQpoziome przewijanie nie działa z urządzeń width = szerokość iscroll

Próbuję stworzyć stronę mobilną ze stałym nagłówku, a sekcja „content”, która zostanie wypełniona zewnętrzny (odkażane ale w inny sposób arbitralny) HTML. Muszę użyć iscroll lub czegoś podobnego, ponieważ potrzebuję obsługi przewijania pionowego/poziomego i powiększania, który nie ma natywnego odpowiednika.

Problem polega na tym, że w mobilnej wersji Safari mobilne Safari zmienia rozmiar wszystkich elementów blokowych na szerokość ekranu, niezależnie od szerokości ich zawartości, chyba że mają określoną szerokość. iscroll następnie analizuje szerokość kontenera (czyli szerokość ekranu) i nie ma świadomości, że jest więcej treści do przewijania w poziomie. W tym przykładzie obliczona szerokość dla div#container na moim iPhonie wynosi 290px, ale obliczona szerokość dla table#really-wide-content wynosi 1000px.

Czy można w jakiś sposób wyłączyć efekty dyrektywy meta viewport w obrębie jednego elementu div na stronie? Zauważ, że nie mogę z góry wiedzieć, jak szeroka jest zawartość lub jaka jest jej struktura HTML, chociaż w razie potrzeby mogę programowo modyfikować style śródliniowe.

Odpowiedz

0

można ustawić szerokość iScroll w pewnym momencie po obciążeniu, takich jak ten przykład JQuery:

$('#scroller').width(your_width); 

poprzez https://stackoverflow.com/a/13898458/1085891

Czy mimo to można zniszczyć i odtworzyć iScroll po załadowaniu strony jak zasugerowano tutaj: How to set dynamic width in iScroll for scroller?

Możesz także ustawić szerokość rzutni na width=device-width po załadowaniu? Może to pozwoliłoby iScroll wczytać zawartość najpierw.

+2

Skończyło się na ustawieniu szerokości elementu bezpośrednio, chociaż to rozwiązanie może być czystsze. Nie znam szerokości a priori (przyczyny problemu), ale później dowiedziałem się o element.scrollWidth. https://developer.mozilla.org/en-US/docs/DOM/element.scrollWidth – RecursivelyIronic

+0

Czy znalazłeś działające rozwiązanie? – JSuar

+1

Tak. scrollWidth było dokładnie tym, czego szukałem. – RecursivelyIronic

Powiązane problemy