Можно проверять положение прокрутки страницы при touchstart и touchend, если изменилось - устанавливаем блоку overflow: hidden (можно и по событию scroll делать, но оно обычно не сразу генерируется, а после того, как страница "остановилась") и задаём таймер на 300-500 мс по которому возвращается элементу overflow: auto. Ну, вообще, надо сделать clearTimeout предварительно для таймера заданного в предыдущем свайпе. То есть сначала задаём var swipeTimer например, потом.. в общем на jQuery приблизительно так:
var swipeTimer, top;
$(windiw).on('touchstart', function(){top=$(windiw).scrollTop()})
.on('touchend', function(){
if (top==$(windiw).scrollTop()) return;
clearTimeout(swipeTimer);
swipeTimer=setTimeout(function{$('.mydiv').css({overflow: ''})}, 500);
$('.mydiv').css({overflow: 'hidden'})
})
То есть, блок "заморозится", как только мы оторвём палец, после того, как начали прокручивать всю страницу и останется замороженным в течении полсекунды