Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   модальное окно div'ом (https://javascript.ru/forum/misc/29161-modalnoe-okno-div%27om.html)

codingfighter 17.06.2012 22:34

модальное окно div'ом
 
Само окно уже вывел и сделал затемнение фона. но такая проблема, скролл работает на всю страницу, то есть можно прокрутить до самого низа, а модальное останется где-то вверху. Вариант с постоянным перемещением модального окна вниз не подходит, т.к. оно может быть большой высоты, и получается что если окно браузера маленькое то чтобы полностью его просмотреть придется увеличивать окно. Вот вконтакте смотрю как-то уменьшают диапазон скролла, чтобы не заскроллить за модальное окно. Скажите пожалуйста, как это сделать?

Deff 17.06.2012 22:39

codingfighter,
На время всплытия окна запретите scroll для body

document.body.style.overflow="hidden"

codingfighter 17.06.2012 23:05

Сделал. Но если наш всплывающий div не помещается в рабочую область, сролл не образуется. Как это исправить, то есть как сделать скролл только на наше модальное окно?

melky 17.06.2012 23:10

Цитата:

Сообщение от Deff (Сообщение 182167)
codingfighter,
На время всплытия окна запретите scroll для body

document.body.style.overflow="none"

Возможно, Вы имели в виду hidden.
http://htmlbook.ru/css/overflow

Deff 17.06.2012 23:10

codingfighter,
Цитата:

Сообщение от codingfighter
Сделал. Но если наш всплывающий div не помещается в рабочую область, сролл не образуется. Как это исправить, то есть как сделать скролл только на наше модальное окно?

Не понял - поясните на примере -эскизе

Deff 17.06.2012 23:11

Цитата:

Сообщение от melky
озможно, Вы имели в виду hidden.

Спс - поправил

codingfighter 17.06.2012 23:21

ну откройте вконтакте, нажмите на просмотр фото, смотрите, скролл не исчезает полностью, он просто становится меньше. Теперь уменьшите высоту окна браузера. Можно скроллить. А здесь скролл вообще исчезает.

Deff 17.06.2012 23:38

codingfighter,
Установите ширину затенения
height:100%;
width:100$;
position:fixed;


Тогда оно будет всегда в размер экрана

codingfighter 18.06.2012 00:02

Нет, вы не поняли. У меня это уже прописано. Экран когда маленький, а точнее высота рабочей области, то появляется скролл (вконтакте). Мне нужна такая же функция. А если поставить body overflow hidden то я так понял скролл окна вообще исчезает. А если поставить на элемент overflow scroll то скролл обазуется вокруг самого элемента.

codingfighter 18.06.2012 00:05

хмм, а может поставить overflow scroll на затенение :)
но тогда скролл будет всегда отображаться...


Часовой пояс GMT +3, время: 19:33.