Saya sudah bekerja dengan <body>
dan<div class="wrapper">
Saat munculan terbuka ...
<body>
mendapat ketinggian 100% dan limpahan: disembunyikan
<div class="wrapper">
mendapat posisi: relatif; meluap: tersembunyi; tinggi: 100%;
Saya menggunakan JS / jQuery untuk mendapatkan posisi gulir halaman yang sebenarnya dan menyimpan nilai sebagai atribut data ke tubuh
Lalu saya gulir ke posisi gulir di .wrapper DIV (bukan di jendela)
Ini solusinya:
JS / jQuery:
// when popup opens
$('body').attr( 'data-pos', $(window).scrollTop()); // get actual scrollpos
$('body').addClass('locked'); // add class to body
$('.wrapper').scrollTop( $('body').attr( 'data-pos' ) ); // let wrapper scroll to scrollpos
// when popup close
$("body").removeClass('locked');
$( window ).scrollTop( $('body').attr( 'data-pos' ));
CSS:
body.locked {position:relative;overflow:hidden;height:100%;}
body.locked .wrapper {position:relative;overflow:hidden;height:100%;}
Ini berfungsi dengan baik di kedua sisi ... desktop & seluler (iOS).
Tipps dan penyempurnaan dipersilahkan :)
Bersulang!