Zauważyłem dziwny błąd w iOS 10 z właściwościami CSS scroll-snap.Błąd przewijania Css iOS 10
Oto mój css:
#springBoard{
height: 100%;
width: 100%;
font-size: 0px;
white-space: nowrap;
overflow: scroll;
-webkit-overflow-scrolling: touch;
-webkit-scroll-snap-type: mandatory;
-webkit-scroll-snap-points-x: repeat(100%);
}
section{
display: inline-block;
width: 100%;
height: 100%;
vertical-align: top;
font-size: 16px;
}
Gdybym programowo przejdź do przystawki punktu, a następnie zmienić zawartość wewnątrz pojemnika przewijania guzikiem, NAV wskoczy z powrotem do pierwszej przystawce punkcie.
// Programatically scroll the scroll-snap container
$("#springBoard")[0].scrollLeft = 320
Nie wydaje się być związany ze sposobem wywoływania przewijania. Wszystkie te metody przewijania dają ten sam rezultat:
$("#springBoard")[0].scrollLeft = 320
$("#springBoard").animate({scrollLeft: 320}, 1)
$("#springBoard > section:eq(1)")[0].scrollIntoView()
window.location.hash = "sectionId"
- Błąd nie zdarza się podczas przewijania ręcznie (patrz komentarz @ Maxime poniżej).
- Jest obecny od wersji 10.3.2 systemu iOS.
- Nie wiem, czy to ustalone w iOS 11.
Spędziłem kilka dni próbuje rozwiązać ten problem, ale bez powodzenia tej pory.
Oto okrojoną przykładem mojego nav:
jeśli poruszać, a następnie kliknij przycisk 'Zmień treść' pozostaje w tym samym punkcie przyciągania. To tylko wtedy, gdy kliknę przycisk bez wykonywania przewijania, że jest błąd. – Maxime
Czy próbowałeś programowo przewijać stronę? 'window.scrollTo (0, 0); // lub jakiś wariant " –
Dzięki za sugestię, spróbowałem przewinąć okno, ale to nie rozwiązało problemu. –