Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2015, 21:08   #1
Игорь5027
 
Регистрация: 26.07.2015
Сообщений: 6
По умолчанию Как в javascript задать диву высоту из размера другого дива?

Вообще-то нужно диву задать размер из вот такого примера: от высоты видимой части окна отнять высоту остальных дивов, и оставшееся задать моему диву, чтобы он растянулся на весь экран. Я сделал 4 переменные. одна переменная var size_of_browser_window = document.documentElement.clientHeig ht , остальные в подобном духе, то есть я узнаю высоту остальных дивов, и в последней переменной делаю пример который написал в начале и мне необходимо эту последнюю переменную задать моему диву вот в таком коде например document.getElementById("content"). style.height = '700px' , но чтоб вместо пикселей я задал свою переменную, а то если пишу переменную, то не работает код, страница идет не на весь экран, а чуть ли не наполовину, футер около середины экрана находится. И просьба без гневных коментов, обьясните по нормальному, что я делаю не так.
Игорь5027 вне форума Ответить с цитированием
Старый 18.09.2015, 22:20   #2
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
Печаль Ой, как непонятно написано...

Тут без тестового примера тяжело понять что к чему... А задача какая?
Может скрипт вообще не нужен, всё решается на CSS.

Через offsetHeight находим высоту всех дивов, а потом вычитаем из высоты окна.
Что-то в этом роде
Код HTML:
var heightWindow = Math.max(
	document.body.scrollHeight, document.documentElement.scrollHeight,
	document.body.offsetHeight, document.documentElement.offsetHeight,
	document.body.clientHeight, document.documentElement.clientHeight
);
var h1 = document.getElementById('div1').offsetHeight;
var h2 = document.getElementById('div2').offsetHeight;
var h3 = document.getElementById('div3').offsetHeight;
document.getElementById('content').style.height = heightWindow - h1 - h2 - h3 + 'px';
SQLPowerUser вне форума Ответить с цитированием
Старый 19.09.2015, 19:38   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
что я делаю не так
а ты код приложи и не будет гневных постов...
SQLPowerUser, такую задачу, по крайней мере как ее описал автор, проще (удобнее, быстрее, надежней) решать через myDomNode.getBoundingClientRect(), нужно только посчитать его на каждый объект и высоту вьюпорта.
А функция сразу вернет объект, где будет топ от вьюпорта и низ от вьюпорта. Можно еще height юзануть, но тогда не будет работать в самом лучшем браузере версии 8 и ниже.
PS. функция возвращает размеры слоя, который отдается на рендер, так что если каким-либо образом какой-нибудь элемент (включая псевдо) посмел высунуться из блока без display:none;, то этот способ не подходит, рамка его захватит.
PSS. но лучше избавиться от таких элементов, либо учесть от них погрешку, ибо этот метод берет инфу из рефлоу браузера и быстр как понос.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 20.09.2015, 13:13   #4
Игорь5027
 
Регистрация: 26.07.2015
Сообщений: 6
По умолчанию

Вопрос решил уже. Просто забыл + 'px' дописать к переменной.
Игорь5027 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задать высоту FrameWork Element Nikulov WPF, UWP, WinRT, XAML 2 14.03.2014 23:13
VBA: как задать массив с листа в Excel неизвестного размера Ixituni Помощь студентам 7 24.04.2013 15:20
Как сделать блок на всю высоту окна минус высоту шапки и футера Qaliti HTML и CSS 3 19.07.2012 13:20
Как при нажатии на кнопку менять стиль дива? скрипт не работает, подправьте diamed JavaScript, Ajax 4 25.06.2011 18:04
футер прицепился к диву ic-e HTML и CSS 0 15.09.2009 16:31