ПРоблема с clientHeight в Сафари
Дано: document.getElementById('center').clientHeight = 885пикс - во всех браузерах, кроме сафари, в сафари - 1226 пикс.
Собственно, вопрос - почему так и как такое можно исправить?? (забыл сказать - это <div id="center">) (за 30 сек решение в инете не нашел :-D) |
А clientHeight у всего документа правильный?
Если так, то используя clientHeight документа, scrollTop документа и offsetHeight вашего элемента можно вычислить его реальный clientHeight. |
Цитата:
|
черт, наверное, проще объяснить проблему: если три колонки(div) - они флоат лефт, задача: узнать какая из колонок длиннее и выровнять остальные 2 по ней... во всех браузерах кроме сафари и хрома всё ок...
текущий скрипт: <script type="text/javascript"> divHeight = new Array(3); divHeight[0] = document.getElementById('left').clientHeight; divHeight[1] = document.getElementById('center').clientHeight; divHeight[2] = document.getElementById('right').clientHeight; var max_num = divHeight[0]; for (i=0; i<3; i++) { if (divHeight[i] > max_num) { max_num = divHeight[i]; } alert(i + '->' + divHeight[i]); } alert(max_num); for (i=0; i<3; i++) { if(divHeight[i] <= max_num) divHeight[i] = max_num - divHeight[i]; alert(i + '->' + divHeight[i]); } document.getElementById('left').style.height = document.getElementById('left').clientHeight + divHeight[0] + 'px'; document.getElementById('center').style.height = document.getElementById('center').clientHeight + divHeight[1] + 'px'; document.getElementById('right').style.height = document.getElementById('right').clientHeight + divHeight[2] + 'px'; </script> лефт, сентер, райт - это эти дивы. P.S. Алерты как раз и показывают разницу в вычислениях. Есть соображения? |
У вас решение явно усложненное. Много лишнего. Посмотрите здесь: http://tvarb.habrahabr.ru/blog/56772/
|
у меня написано в принципе то же, только другими словами... но у него OffsetHeight - оно везде нормально работает?
Проверил с оффсетхеит - показания те же :( |
Проблема решилась сама собой совершенно случайно, когда я хотел подключить файл с другим скриптом.
написал <script type="text/javascript" src=""></script> (с пустым СРЦ) и clientHeightстал считаться правильно и в сафари и в хроме... собственно, теперь возник вопрос - в чем косяк в этих браузерах? |
Часовой пояс GMT +3, время: 14:38. |