Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2013, 19:09
Интересующийся
Отправить личное сообщение для rebroff Посмотреть профиль Найти все сообщения от rebroff
 
Регистрация: 20.10.2010
Сообщений: 14

Как запретить "прокручивание" содержимого страницы под модальным окном?
Здравствуйте.

Собственно, есть модальное окно. Необходимо сделать его действительно модальным, т.е. запретить прокручивание подлежащего содержимого основного окна.

Устанавливала-снимала overflow: hidden для body. Функционально - то, что нужно, но при этом имеем неприятный побочный эффект в виде дерганья из-за изменения размеров экрана за счет скрытия/появления полосы прокрутки.

Можно ли решить этот вопрос без изменения значения св-ва overflow?
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2013, 20:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script src="http://code.jquery.com/jquery-latest.js"></script>
<body style="height:1000px">



<script type="text/javascript">
function OffScroll () {
var winScrollTop = $(window).scrollTop();
$(window).bind('scroll',function () {
  $(window).scrollTop(winScrollTop);
});}

OffScroll ();  //Запустили отмену прокрутки

//$(window).unbind('scroll'); //Выключить отмену прокрутки
</script>

Последний раз редактировалось Deff, 07.02.2013 в 20:19.
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2013, 20:27
Интересующийся
Отправить личное сообщение для rebroff Посмотреть профиль Найти все сообщения от rebroff
 
Регистрация: 20.10.2010
Сообщений: 14

Огромное спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2014, 18:13
Новичок на форуме
Отправить личное сообщение для sanchemba Посмотреть профиль Найти все сообщения от sanchemba
 
Регистрация: 24.03.2014
Сообщений: 1

Здравствуйте!
У меня вопрос в продолжение темы.
Данный код позволяет просто запретить прокрутку страницы при появлении модального окна. Но если модальное окно большое и выходит за рамки окна браузера, оно так же, естественно, не прокручивается.
Как сделать так, чтобы модальное окно прокручивалось, а страница, находящаяся на "нижнем слое" - нет, чтобы она оставалась на месте?
Так, к примеру, сделано на сайте Вконтакте. При просмотре, скажем, фотографии, можно прокручивать модальное окно просмотра фотографии, а основная страница при этом остаётся на месте.
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2014, 19:11
Аватар для animhotep
Профессор
Отправить личное сообщение для animhotep Посмотреть профиль Найти все сообщения от animhotep
 
Регистрация: 17.01.2013
Сообщений: 887

попробуйте overflow: hidden для body
Ответить с цитированием
  #6 (permalink)  
Старый 22.11.2017, 16:30
Новичок на форуме
Отправить личное сообщение для Zverit Посмотреть профиль Найти все сообщения от Zverit
 
Регистрация: 10.06.2017
Сообщений: 3

Сообщение от animhotep Посмотреть сообщение
попробуйте overflow: hidden для body
этого недостаточно для iOS. Вот мое решение https://blog.zverit.com/frontend/201...ody-modal-ios/
Ответить с цитированием
  #7 (permalink)  
Старый 22.11.2017, 17:03
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,723

Zverit, ваше решение на 3 года опоздало
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При прокрутке страницы div залазит на футер. Как поправить? DonaldDrug jQuery 8 27.03.2012 02:15
jquery accordion как избавиться от прокрутки страницы. cesar5 Events/DOM/Window 0 24.01.2012 15:52
Как получиться доступ к элементам не своей страницы? AlkaLoiD Общие вопросы Javascript 4 29.11.2010 12:47
Как писать скрипты под Opera? ucsus (X)HTML/CSS 2 15.04.2009 13:07
как сделать плавное затухание страницы magistr_bender Элементы интерфейса 1 18.03.2009 14:34