@alex1nd

"Заморозить" div и включить по клику?

нужно скрыть тоуч прокрутку внутри diva ---но сама она нужна, просто мешает при скроле страницы сверху вниз.
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ответы на вопрос 2
trushka
@trushka
Можно проверять положение прокрутки страницы при 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'})
})
То есть, блок "заморозится", как только мы оторвём палец, после того, как начали прокручивать всю страницу и останется замороженным в течении полсекунды
Ответ написан
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
Вертикальная прокрутка внутри плохое решение в принципе. Можете сделать горизонтальную прокрутку, а содержание внутри разбить через css3 columns, либо же просто убрать прокрутку и показывать полное содержание.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы