Нужно определить состояние overflow в блоке
Есть блок div (блок имеет фиксированный размер), в который динамически загружается текст. Нужно сделать так, чтобы при переполнении блока сбоку выводилась полоса прокрутки (пока блок не переполнен полоса прокрутки не должна выводиться).
Как определить состояние переполнености блока с помощью javascript? |
Что значит переполненность блока?
|
Это значит, что содержимое блока превосходит размер блока и он переполняется. В css есть свойство определяющее переполненость блока и это свойство определяет, как вести блоку в случае его переполнения содержимым. Свойство это overflow. Например overflow: scroll означает, что если содержимое больше высоты блока ( т.е содержимое не помещается в блок, то сбоку выводятся полосы прокрутки ). Мне надо с помощью javascript определить переполнен блок или нет. Может есть свойство какое-нибудь или готовое решение.
|
overflow: scroll; делает скроллбары свегда, даже если содержимое меньше блока
overflow: auto; делает то, что вы сказали. А зачем вам делать это джаваскриптом??? |
Как же я затупил с этим вопросом!!! Это просто жесть. Представляешь лень было посмотреть спецификацию.
|
Спасибо тебе!!!
|
Цитата:
CSS это конечно хорошо, но он генерит системные скролбары. А если я хочу свой? Я конечно понимаю, что в том же IE их видно можно изменять, но не то это, не то. Посему хорошо бы иметь какое либо булево поле по которому виден факт переполнения. Я вот о таковом не знаю, к сожалению. Да и есть ли оно? |
Да, и понятно то, что можно оценивать размер родительского и дочернего блока, но хочется чего-то "искаробки", нативного.
|
Цитата:
Дисклемер дисклемером, а по делу — определить можно: <div style="height: 30px; overflow: hidden" id="test">Lorem<br />ipsum<br />dolor<br />sit<br />amet.</div> <script type="text/javascript"> var test = document.getElementById("test"); alert("Не помещается " + (test.scrollHeight - test.clientHeight) + " пикселей") </script> |
Часовой пояс GMT +3, время: 03:53. |