Я использую диалоговое окно JQuery, чтобы открыть всплывающее окно сверху страницы. Когда я открываю диалоговое окно, я хочу, чтобы общая прокрутка страницы была отключена. Для этого я делаю:
$('body').css({overflow:'hidden'});
когда откроется диалог, и:
$('body').css({overflow:'auto'});
когда диалог закрывается.
Это работает, но когда панель прокрутки удаляется, содержимое в спине перемещается вправо, и результат не является приятным.
Я попробовал другой метод, создав класс css "noscroll", как таковой:
body.noscroll
{
position: fixed;
overflow-y: scroll;
width: 100%;
}
то вместо предыдущего js-кода я добавляю и удаляю этот класс в тело в диалоговом открытии/закрытии.
Теперь это работает для полосы прокрутки, а содержимое в спине не перемещается вправо, но с помощью этого метода содержимое в обратном направлении возвращается в начало.
Таким образом, в основном метод1 перемещает содержимое вправо, а метод2 возвращает содержимое назад.
Кто-нибудь знает решение для этого? нет прокрутки для содержимого в обратном направлении, когда открывается диалоговое окно, и нет движения при отключении прокрутки...?