2013-01-13 22 views
5

znalazłem: ElementZatrzymać przewijanie podczas używania "-webkit-overflow-scrolling: touch"?

-webkit-overflow-scrolling: touch; 

css, aby dać nam natywną przewijanie na iOS. To wydaje się działać dobrze dla mnie.

Ale czy istnieje sposób na wyłączenie efektu "przeskoku"?

Na przykład, gdy pozycja przewijania = zero, a ciągniesz dalej w dół, górna część mojej zawartości przesunie się w dół, odsłaniając nieco białej spacji nad nią. Po zwolnieniu palca zawartość przesuwa się w górę. Czy istnieje sposób wyłączenia tylko tej części?

Również czytałem tutaj:

http://cantina.co/2012/03/06/ios-5-native-scrolling-grins-and-gothcas/

że Apple wprowadziła to z błędu związanego renderingu oraz fix hack:

-webkit-transform: translate3d(0,0,0); 

ma go naprawić. Czy to naprawiono w ios6?

+1

Nie wiedział o właściwości '-webkit-overflow-scrolling'. Dość ciekawe. –

Odpowiedz

-3

Czy próbowałeś technik w this blog post o wyłączaniu elastycznego przewijania? W szczególności, dla iOS sugeruje następujące javascript:

document.addEventListener(
    'touchmove', 
    function(e) { 
    e.preventDefault(); 
    }, 
    false 
); 
+8

Wyłączenie globalne "touchmove" uniemożliwia przewinięcie strony w dół. – hawkharris

2

to wydaje się pomóc:

https://github.com/joelambert/ScrollFix

... ScrollFix działa wokół to ręcznie zaliczania wartości scrollTop jednego z dala od limitu na dowolnym krańcu, co powoduje, że przeglądarka używa gumowego pasma zamiast przekazywania zdarzenia do drzewa DOM.

+0

Tak! Dziękuję Ci za to. Tkwiłem swój mózg nad tym dziwacznym zagadnieniem i to rozwiązało go całkiem skutecznie! – devios1

Powiązane problemy