Задать вопрос

Как заменить основной скролл на скролл модального окна (в том же месте)?

Доброго времени суток,

Задача заключается в следующем: как можно сделать так, чтобы при открытии модального окна основной скролл страницы превращался в скролл модального окна?
Как пример, тот же VK. Когда открываешь любую фотографию, запись, основной скролл меняется на скролл мод.окна

Немного истории того, что я делал:
- Сделал модельное окно, но при открытии можно было листать основную страницу (сделал при открытии мод.окна для body{overflow: hidden;}
Итог: Дерганье экрана при открытии и закрытие мод.окна

- Откатил код, написал дополнительно функцию, которая просто останавливает скролл
function OffScroll() {
        var winScrollTop = $(window).scrollTop();
        $(window).bind('scroll', function () {
            $(window).scrollTop(winScrollTop);
        });
    }

Итог: Дерганье устранено. Ура! Но, когда контент в мод.окне большой - нужен скролл мод. окна, а если просто впихнуть скролл в само мод.окно - это выглядит отвратительно

Вопрос, возможно, уже немного заезженный, но мне он довольно интересен :)
Закинул часть на codepen для наглядности
  • Вопрос задан
  • 2078 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
lavezzi1
@lavezzi1
При открытии модального окна нужно добавлять overflow-y: hidden; к body, этим вы отключите скролл страницы, и добавить overflow-y: scroll (или auto) к .modal-frame.
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
arcticlab.ru/arcticmodal/#examples
см. пример - "Окно с большой высотой"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы