Tôi nhận thấy một lỗi lạ trong iOS 10 với thuộc tính CSS scroll-snap.Css scroll-snap lỗi iOS 10
Dưới đây là css của tôi:
#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;
}
Nếu tôi lập trình di chuyển đến một snap-point và sau đó thay đổi nội dung bên trong container cuộn-snap, các nav chụp lại cho các snap-point đầu tiên.
// Programatically scroll the scroll-snap container
$("#springBoard")[0].scrollLeft = 320
Nó dường như không liên quan đến cách tôi kích hoạt cuộn. Tất cả những phương pháp di chuyển tạo ra kết quả tương tự:
$("#springBoard")[0].scrollLeft = 320
$("#springBoard").animate({scrollLeft: 320}, 1)
$("#springBoard > section:eq(1)")[0].scrollIntoView()
window.location.hash = "sectionId"
- Lỗi không xảy ra khi di chuyển bằng tay (Xem comment @ Maxime dưới đây).
- Phiên bản này có từ phiên bản 10.3.2 của iOS.
- Không biết nếu nó được cố định trong iOS 11.
tôi đã dành một vài ngày cố gắng để giải quyết vấn đề nhưng không thành công cho đến nay.
Dưới đây là một ví dụ rút gọn của nav của tôi:
Nếu tôi di chuyển và sau đó nhấp vào 'Thay đổi nội dung' nút nó vẫn ở cùng một điểm chụp. Nó chỉ là nếu tôi bấm vào nút mà không cần phải thực hiện bất kỳ di chuyển mà có lỗi. – Maxime
Bạn đã thử di chuyển trang theo chương trình chưa? 'window.scrollTo (0, 0); // hoặc một số biến thể' –
Cảm ơn gợi ý, tôi đã thử cuộn cửa sổ nhưng nó không giải quyết được vấn đề. –