Zajmuję się tworzeniem okien modalnych z możliwością przewijania, takich jak te z Pinterest. Po zwolnieniu zdefiniuj overflow: hidden
na body
i overflow: auto
na kontenerze modalnych skrzynek. Działa to bardzo dobrze w przeglądarkach na komputerach, ale mój pierwszy test na iPadzie (i zakładam, że prawdopodobnie na iOSie w ogóle) ujawnia problem:iPad wyłącza przewijanie dokumentu, ale nie przepełnienie div div
Kiedy przewijanie modala się kończy, jeśli dokument jest dłuższy niż modalny, przewijanie trwa.
Próbowałem to z zamiarem tylko akceptuje przewijania, jeśli jest wywołane przez modal lub jego opakowaniem:
// Disable browser scrolling on iOS
$(document).on('touchmove',function(e) {
if (($(e.target).attr('id') != id) &&
($(e.target).attr('id') != ('modal-'+id))) {
e.preventDefault();
}
});
i to naprawdę działa robi dokładnie to. Zwoje modalne i kiedy kończy się przewijanie strony jest możliwe tylko wtedy, gdy przewiniesz wewnątrz modalu.
Czy masz jakiś pomysł?
Wypróbuj go w swoich iPadów jeśli chcesz (trzeba kliknąć na przycisk modalnej): http://www.onebigrobot.com/beta/altair/transforms-so
Z góry dziękuję!
niesamowite dzięki trylionowi – Nasir