Pracowałem z <body>
i<div class="wrapper">
Kiedy otwiera się wyskakujące okienko ...
<body>
uzyskuje wysokość 100% i przepełnienie: ukryty
<div class="wrapper">
pobiera pozycję: względną; przepełnienie: ukryte; wysokość: 100%;
Używam JS / jQuery, aby uzyskać rzeczywistą pozycję przewijania strony i zapisać wartość jako atrybut danych do treści
Następnie przewijam do pozycji przewijania w .wrapper DIV (nie w oknie)
Oto moje rozwiązanie:
JS / jQuery:
$('body').attr( 'data-pos', $(window).scrollTop());
$('body').addClass('locked');
$('.wrapper').scrollTop( $('body').attr( 'data-pos' ) );
$("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%;}
Działa dobrze po obu stronach ... komputer stacjonarny i mobilny (iOS).
Napiwki i ulepszenia są mile widziane :)
Twoje zdrowie!