Итак, коллеги, задача такая. Есть несколько слоёв (разные z-index). Основной - где работает скрипт. Повыше - находится DIV, который сделан полупрозрачным, чтоб через него был виден основной скрипт, но чтобы там ничего низзя было нажать до окончание текущего действия. И еще выше - другой DIV, где сделана форма ввода данных. Ради которой всё и затеяно, собственно говоря.
До некоторой поры оба ДИВа скрыты (display:none). При нажатии некоторой кнопки начитается редактирование данных. Для этого оба ДИВа делаются видимыми, и всё выглядит красиво...
Проблемы такие:
1. Как выставить размер "фонового" ДИВа? Он должен полностью закрывать основной скрипт, чтобы там не было ничего доступного. Сейчас я делаю это так:
obj=getEl( 'enter_something' );
obj.style.width=window.innerWidth;
obj.style.height=window.innerHeight;
Но если у окна есть что-то за пределами видимой области, то эта часть не перекрывается... Если же я выставляю заведомо большой размер фонового ДИВа, то тогда появляются полосы прокрутки у браузера, которые мне совершенно не нужны.
2. Как корректно выставить положение формы ввода? Пока вот так сделано:
getEl( dialog_name+'_input' ).style.left=parseInt((window.innerWidth-parseInt(getEl( dialog_name+'_input').style.width))/2)+'px';
getEl( dialog_name+'_input' ).style.top=parseInt((window.innerHeight-parseInt(getEl( dialog_name+'_input').style.height))/2)+'px';
Но, опять же, если документ длиннее (больше по высоте) окна показа и он прокручен куда-то вниз, то эта форма вылезает где-то высоко.
Ткните в нужную сторону, плз, чегой-то запутался с этими всеми свойствами :)
Да :), getEl() в коде - это функция document.getElementById()
Спустя 2 часа, 53 минуты, 20 секунд (26.11.2010 - 21:19) sergeiss написал(а):
А я думал, что я один этого не знаю, а все знают...
Спустя 1 час, 34 минуты, 47 секунд (26.11.2010 - 22:54) Игорь_Vasinsky написал(а):
на JS не делал сам вывод. тка на php
делал так -задний фон (закрывающий вась контент width:100% и height: 100%)
а саму форму позиционировать методом тыка.. звисит от размера формы, но делал так же в % left & top
делал так -задний фон (закрывающий вась контент width:100% и height: 100%)
а саму форму позиционировать методом тыка.. звисит от размера формы, но делал так же в % left & top
Спустя 2 минуты, 6 секунд (26.11.2010 - 22:56) ApuktaChehov написал(а):
Я думаю, тебе нужно узнать высоту всего документа и нужный див вытянуть на этот размер. Если есть слой который имеет height 100% то можно сделать так:
Ну, если я правильно понял поставленную задачу.
А вообще по этой части, можешь мне писать. Я себе за последнее время настолько вынул мозг из за махинаций со слоями, что кажется, что мне уже все не по чем. ;)
current_div.style.height = index_div.offsetHeight + 'px';
Ну, если я правильно понял поставленную задачу.
А вообще по этой части, можешь мне писать. Я себе за последнее время настолько вынул мозг из за махинаций со слоями, что кажется, что мне уже все не по чем. ;)
Спустя 3 минуты, 14 секунд (26.11.2010 - 22:59) Nord написал(а):
Цитата |
1. Как выставить размер "фонового" ДИВа? Он должен полностью закрывать основной скрипт, чтобы там не было ничего доступного. Сейчас я делаю это так: 2. Как корректно выставить положение формы ввода? Пока вот так сделано: |
Добавь obj.style.position = fixed, чтобы объект оставался на месте при прокрутке изображения
Спустя 12 минут, 7 секунд (26.11.2010 - 23:11) inpost написал(а):
sergeiss
1) А почему не выставить просто размер 100%, при этом он будет absolute внутри дива relative, тогда 100% будет относительно этого relative?
2) тут надо, чтобы кнопки появлялись на уровне нажатого элемента? Тогда узнай растояние в браузере до этого элемента, и туда выставляй этот див.
Я бы попытался помочь тебе куда лучше... просто вопрос не очень понятный... или я такой непонятливый...
Может хоть скрин-шоты скинешь сюда? Или мне в личку, как должно выглядеть, и как сейчас... тогда помог бы окончательно и 100%
UPDATE: коммент изменил, перечитай, если читал до этого
1) А почему не выставить просто размер 100%, при этом он будет absolute внутри дива relative, тогда 100% будет относительно этого relative?
2) тут надо, чтобы кнопки появлялись на уровне нажатого элемента? Тогда узнай растояние в браузере до этого элемента, и туда выставляй этот див.
Я бы попытался помочь тебе куда лучше... просто вопрос не очень понятный... или я такой непонятливый...
Может хоть скрин-шоты скинешь сюда? Или мне в личку, как должно выглядеть, и как сейчас... тогда помог бы окончательно и 100%
UPDATE: коммент изменил, перечитай, если читал до этого
Спустя 5 минут, 45 секунд (26.11.2010 - 23:17) Игорь_Vasinsky написал(а):
да и пятница.. пиво...
Спустя 11 минут, 3 секунды (26.11.2010 - 23:28) sergeiss написал(а):
Цитата (Nord @ 26.11.2010 - 23:59) |
Добавь obj.style.position = fixed, чтобы объект оставался на месте при прокрутке изображения |
Вот это + выставление 100% размеров, и всё это для "фонового" ДИВа помогли


Цитата (Игорь_Vasinsky @ 26.11.2010 - 23:54) |
а саму форму позиционировать методом тыка.. |
Нее... Метод "тыка" тут не годится...
Спустя 7 минут, 53 секунды (26.11.2010 - 23:36) sergeiss написал(а):
А скрин-шот такой...
На основной странице жмякнули Добавить или Редактировать (тут видно эти кнопки "под стеклом"). Вызывается форма и одновременно идет запрос на сервер (аякс), который заполняет форму (это при редактировании). Нажали Сохранить - ушел запрос с данными на сервер (опять же аякс), данные внеслись в БД, пришел ответ от сервера (аяксовый же
), который обновляет список, расположенный выше кнопки Добавить.
На основной странице жмякнули Добавить или Редактировать (тут видно эти кнопки "под стеклом"). Вызывается форма и одновременно идет запрос на сервер (аякс), который заполняет форму (это при редактировании). Нажали Сохранить - ушел запрос с данными на сервер (опять же аякс), данные внеслись в БД, пришел ответ от сервера (аяксовый же

Спустя 43 минуты, 55 секунд (27.11.2010 - 00:20) inpost написал(а):
sergeiss
Вроде всё ровно, а что не так?
Можешь показать пример, когда поломалось?
Вроде всё ровно, а что не так?
Можешь показать пример, когда поломалось?
Спустя 15 минут, 39 секунд (27.11.2010 - 00:35) sergeiss написал(а):
inpost - на этой картинке да, уже всё ОК. А когда было не правильно... Крутишь вниз или вправо - а там фон заканчивается и можно получить доступ к основной странице.
А картинку "плохую" мне делать лениво
А картинку "плохую" мне делать лениво

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL
* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.
* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
