• Страница 1 из 1
  • 1
Архив - только для чтения
Сообщество uCoz » Архивариус » Архив » Скрипт высоты div-ов на js (Найти проблему в скрипте)
Скрипт высоты div-ов на js
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 1 | 15:16:07
Нужна помощь со скриптом. Есть 2 div-блока с разной неизвестной высотой. Нужно с помощью скрипта уравнять высоту блоков.
Вот что я пыталась сделать и что не работает:
Код
var h-content = document.detElementById("#content").style.height; //узнаем высоту 1-ого блока и присваиваем ее переменной  
  var h-right = document.detElementById("#right").style.height; //узнаем высоту 2-ого блока и присваиваем ее переменной  
  h-content = Number(h-content);  
  h-right = Number(h-right);  
  if (h-content>h-right) {  
       var minus = h-content - h-right;  
       var result = h-right + minus;  
      #right.style.height = result + "px";  
  }  
  else {  
       var minus2 = h-right - h-content;  
       var result2 = h-content + minus2;  
       #content.style.height = result + "px";  
  }
GT
Сообщений: 100
Репутация: 22

Сообщение # 2 | 21:37:43
Пример дай, тоесть ссылку чтоб поссмотреть.

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 3 | 21:47:30
GT, ссылки нет, т. к. сайт лежит на локальном компе. Всю ситуацию я описала, ссылка на сайт тут не нужна, если я правильно понимаю. Гарантировано, что ни с какими другими скриптами скрипт не конфликтует.
GT
Сообщений: 100
Репутация: 22

Сообщение # 4 | 23:29:51
Цитата (Леди_Боль)
GT, ссылки нет, т. к. сайт лежит на локальном компе. Всю ситуацию я описала, ссылка на сайт тут не нужна, если я правильно понимаю. Гарантировано, что ни с какими другими скриптами скрипт не конфликтует.
А если так сделать <div style="height:240px; float:left; ">1</div> <div style="height:240px; float:left; ">2</div> Помойму лучше через css прописать высоту чем через js.

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Сообщение отредактировал GT - Воскресенье, 30 Июн 2013, 23:31:25
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 5 | 23:49:06
GT, у меня эти 2 блока изменяют высоту в зависимости от того, сколько в них текста. Поэтому, высота неизвестна. Не прописывать же для каждой страницы свою высоту? smile
Miss_Esq
Сообщений: 13859
Репутация: 4159
Уровень замечаний:

Сообщение # 6 | 23:49:12
Леди_Боль, Вообще то высота div блоков "образуется" автоматически? кроме случаев если

указана высота
если есть float
если используется position absolute ...

вопрорс решать нужно на месте ....

Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 7 | 23:51:50
Miss_Esq, есть float:left; .
Сообщение отредактировал Леди_Боль - Воскресенье, 30 Июн 2013, 23:53:07
webanet
Сообщений: 24067
Репутация: 4985

Сообщение # 8 | 00:28:08
Леди_Боль, уравнять можно ещё так

min-height
min-width

или тоже самое, но max

ТУТ можно оставить своё мнение по любому вопросу
https://webanetlabs.net/
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 9 | 01:16:02
webanet, min-height у меня уже стоит (по другой причине). а остальное, я думаю, не поможет:
1. Допустим, в стилях прописан min-height:100px;
2. Допустим, прописан max-height:1000px;
3. А на такой-то странице высота из-за размеров текста равна 900px (но мы эту высоту не знаем, ее знает только браузер).
У второго блока первые два пункта такие же, а третий - 800px (эту тоже не знаем).
Тут уж не поможет ни min-height, ни max-height.

Добавлено (01 Июл 2013, 01:14:14)
---------------------------------------------
Цитата (webanet)
min-width


А при чем тут ширина?

Добавлено (01 Июл 2013, 01:16:02)
---------------------------------------------
И ребят, может, скажете, что со скриптом не то?

Сообщение отредактировал Леди_Боль - Понедельник, 01 Июл 2013, 01:14:57
Miss_Esq
Сообщений: 13859
Репутация: 4159
Уровень замечаний:

Сообщение # 10 | 02:41:28
Леди_Боль, Вам для чего это ? Где хотите применить ???

Сообщение отредактировал Miss_Esq - Понедельник, 01 Июл 2013, 02:42:22
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 11 | 03:14:51
Miss_Esq, хочу применить на своем сайте. Эти два блока с неизвестной высотой - это блок content с основным материалом и боковое меню.

Добавлено (01 Июл 2013, 03:14:51)
---------------------------------------------

Цитата (Леди_Боль)
И ребят, может, скажете, что со скриптом не то?
GT
Сообщений: 100
Репутация: 22

Сообщение # 12 | 12:00:07
Цитата (Леди_Боль)
GT, у меня эти 2 блока изменяют высоту в зависимости от того, сколько в них текста. Поэтому, высота неизвестна. Не прописывать же для каждой страницы свою высоту?
А если использовать overflow:auto;?

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Ferro7
Сообщений: 285
Репутация: 230

Сообщение # 13 | 16:32:39
Леди_Радость, DIV кагбэ не предназначен для таких случаев smile
Используйте TABLE

И в скрипте _КУЧА_ ошибок. Возможно должно быть так:

Код
var h_content = document.getElementById("content").style.height; //узнаем высоту 1-ого блока и присваиваем ее переменной         
         var h_right = document.getElementById("right").style.height; //узнаем высоту 2-ого блока и присваиваем ее переменной         
         h_content = parseInt(h_content,10);         
         h_right = parseInt(h_right,10);         
         if (h_content>h_right) {         
              var minus = h_content - h_right;         
              var result = h_right + minus;         
             document.getElementById("right").style.height = result + "px";         
         }  else {         
              var minus2 = h_right - h_content;         
              var result2 = h_content + minus2;         
              document.getElementById("content").style.height = result + "px";         
         }


И располагать его надо в конце HTML-страницы (но до </BODY>).
Садитесь, 2

Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Понедельник, 01 Июл 2013, 16:44:18
Тишинa
Сообщений: 33
Репутация: -8

Сообщение # 14 | 16:32:49
GT, не катит.
Ferro7, 1. Там должен быть result2, по логике.
Цитата (Ferro7)
var h_content = document.getElementById("content").style.height; //узнаем высоту 1-ого блока и присваиваем ее переменной
var h_right = document.getElementById("right").style.height; //узнаем высоту 2-ого блока и присваиваем ее переменной
h_content = parseInt(h_content,10);
h_right = parseInt(h_right,10);
if (h_content>h_right) {
var minus = h_content - h_right;
var result = h_right + minus;
document.getElementById("right").style.height = result + "px";
} else {
var minus2 = h_right - h_content;
var result2 = h_content + minus2;
document.getElementById("content").style.height = result + "px";
}


И даже если исправить, скрипт все равно не работает. Садитесь, 3+

Добавлено (01 Июл 2013, 22:29:47)
---------------------------------------------
ку-ку...

Добавлено (01 Июл 2013, 22:56:24)
---------------------------------------------
подскажите, пожалуйста, что не так со скриптом. sad
Сообщение отредактировал Леди_Боль - Вторник, 02 Июл 2013, 12:45:35
Ferro7
Сообщений: 285
Репутация: 230

Сообщение # 15 | 19:13:43
biggrin

На самом деле, всё так. Просто нужно получать вычисленное значение высоты, а не то, которые прописывается в стилях. Рабочий скрипт:

Код
<script>
var IE = '\v'=='v';
var eContent = document.getElementById("content");
var eRight = document.getElementById("right");
var hContent = IE?eContent.currentStyle.height:window.getComputedStyle(eContent, null).getPropertyValue("height");
var hRight = IE?eRight.currentStyle.height:window.getComputedStyle(eRight, null).getPropertyValue("height");
if (parseInt(hContent, 10) > parseInt(hRight, 10)) eRight.style.height = hContent;
else eContent.style.height = hRight;
</script>

Вы полюбили меня. Здесь я. (с)
Сообщение отредактировал Ferro7 - Пятница, 05 Июл 2013, 19:16:46
Сообщество uCoz » Архивариус » Архив » Скрипт высоты div-ов на js (Найти проблему в скрипте)
  • Страница 1 из 1
  • 1
Поиск: