dzheka3d
@dzheka3d

Как правильно запретить скролл страницы при модальном окне?

Всем привет! Во время открытия модального окна выполняю такой код:
$("html,body").css("overflow","hidden");
При закрытии окна такой:
$("html,body").css("overflow","auto");

Но после закрытия страница уже не листается так плавно как должна. А именно останавливается, если листать вниз, а затем резко листнуть вверх.
  • Вопрос задан
  • 407 просмотров
Пригласить эксперта
Ответы на вопрос 2
@GrimJack
Возможно у вас есть какие-то плагины влияющие на это
Попробуйте перед оверфлоу хайден записать текущее состояние оверфлоу, а потом скрывать
А при закрытии присваивать записанное состояние
Ответ написан
Комментировать
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
<body>
  <div class="page-wrap">

  </div>
  <div class="modal-wrap"></div>
</body>

html, body {
  width: 100%;
  height: 100%;
}
body {
  overflow: hidden;
}
.page-wrap, .modal-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
}
.page-wrap: {
  overflow: auto; /* или scroll */
}
.modal-wrap {
  z-index: 1000;
  display: none;
  background: rgba(0,0,0, 0.5); /* стекло */
}
.modal-wrap__active {
  display: block; /* или flex */
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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