ПРоблема с 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, время: 08:14. |