Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2018, 14:14
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

Одинаковая высота колонок
Здравствуйте!
Подскажите пожалуйста, как решить задачку.
Надо создать одинаковую высоту колонок у адаптивного дизайна.
<div class="container">
<div class="content-c"></div>
<div class="sidebar-prav"></div>
</div>

Применяю такое решение
<script>
jQuery(document).ready(function($) {
  var content = jQuery('.content-c');
  var sidebarR = jQuery('.sidebar-prav');
  var sidebarL = jQuery('.sidebar-lev');
  var getContentHeight = content.outerHeight();
  var getSidebarRHeight = sidebarR.outerHeight();
  var getSidebarLHeight = sidebarL.outerHeight();
  
  if (getSidebarRHeight != 'undefined' && getContentHeight > getSidebarRHeight) {
    sidebarR.css('height', getContentHeight); 
	jQuery('.c-content').css('height', getContentHeight - 50);
	jQuery('#sidebar-right').css('height', getContentHeight - 50);
    }
  if (getSidebarRHeight != 'undefined' && getSidebarRHeight > getContentHeight) {
    content.css('height', getSidebarRHeight); //alert('2');
	jQuery('.c-content').css('height', getSidebarRHeight - 50);
	jQuery('#sidebar-right').css('height', getSidebarRHeight - 50);
    }
  if (getSidebarLHeight != 'undefined' && getContentHeight > getSidebarLHeight) {
    sidebarL.css('height', getContentHeight); //alert('3');
	jQuery('.c-content').css('height', getContentHeight - 50);
	jQuery('#sidebar-left').css('height', getContentHeight - 50);
    }
  if (getSidebarLHeight != 'undefined' && getContentHeight < getSidebarLHeight) {
    content.css('height', getSidebarLHeight); //alert('4');
	jQuery('.c-content').css('height', getContentHeight - 50);
	jQuery('#sidebar-left').css('height', getContentHeight - 50);
    }	
});
</script>

Но почему то все время высота центрального блока "content-c" подсчитывается неправильно. Такое ощущение, что javascript определил высоту, а после этого страница еще подзагрузилась и высота изменилась и поэтому выставляет неправльно высоту.
В чем здесь проблема? Как сделать так, чтобы высота определялась именно после полной окончательной загрузке страницы?
Вот пример http://myuniquebusiness.ru/3/obzor-t...-na-novyj-god/
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2018, 15:13
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Возможно, что в таких случаях надо использовать .offsetHeight.

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Пример</title>
</head>
<body>
	<div class="container">
		<div class="content-c">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
		tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
		quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
		consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
		cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
		proident, sunt in culpa qui officia deserunt mollit anim id est laborum.	</div>
		<div class="sidebar-prav">mollit anim id est laborum</div>
	</div>

	<script>
		window.addEventListener("DOMContentLoaded", function() {
			function $(elem){ return document.querySelector(elem) }
			var arr = [$('.content-c'), $('.sidebar-prav')];
			var maxHeight = Math.max(arr[0].offsetHeight, arr[1].offsetHeight);
			arr.forEach(function(item) { item.style.height = maxHeight + 'px'; });
		});
	</script>

	<style>
	.container div{ width: 200px;	float: left; }
	.content-c {background: blue}
	.sidebar-prav{background: orange}
</style>
</body>
</html>

Последний раз редактировалось void(), 26.05.2018 в 15:35.
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2018, 17:03
Кандидат Javascript-наук
Отправить личное сообщение для rafaello Посмотреть профиль Найти все сообщения от rafaello
 
Регистрация: 09.11.2012
Сообщений: 103

Спасибо за помощь!!
Буду пробовать.....
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2018, 14:10
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от rafaello
Надо создать одинаковую высоту колонок у адаптивного дизайна.
http://htmlbook.ru/blog/4-metoda-soz...nakovoy-vysoty
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Равная высота колонок Blizzart jQuery 0 15.04.2014 15:50
ширина колонки таблицы по количеству колонок yriiarutiunian (X)HTML/CSS 14 25.02.2014 00:45
Одинаковая высота картинок Irina13 Javascript под браузер 15 29.02.2012 12:06
Неправильная высота блоков в Google chrome Karpo Opera, Safari и др. 7 03.11.2010 11:43
Высота фрейма и высота загружаемого файла findman Events/DOM/Window 5 15.09.2008 03:33