Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно определить состояние overflow в блоке (https://javascript.ru/forum/misc/1752-nuzhno-opredelit-sostoyanie-overflow-v-bloke.html)

faunder 12.09.2008 12:33

Нужно определить состояние overflow в блоке
 
Есть блок div (блок имеет фиксированный размер), в который динамически загружается текст. Нужно сделать так, чтобы при переполнении блока сбоку выводилась полоса прокрутки (пока блок не переполнен полоса прокрутки не должна выводиться).

Как определить состояние переполнености блока с помощью javascript?

ZoNT 12.09.2008 12:39

Что значит переполненность блока?

faunder 12.09.2008 12:48

Это значит, что содержимое блока превосходит размер блока и он переполняется. В css есть свойство определяющее переполненость блока и это свойство определяет, как вести блоку в случае его переполнения содержимым. Свойство это overflow. Например overflow: scroll означает, что если содержимое больше высоты блока ( т.е содержимое не помещается в блок, то сбоку выводятся полосы прокрутки ). Мне надо с помощью javascript определить переполнен блок или нет. Может есть свойство какое-нибудь или готовое решение.

ZoNT 12.09.2008 12:52

overflow: scroll; делает скроллбары свегда, даже если содержимое меньше блока
overflow: auto; делает то, что вы сказали.

А зачем вам делать это джаваскриптом???

faunder 12.09.2008 13:35

Как же я затупил с этим вопросом!!! Это просто жесть. Представляешь лень было посмотреть спецификацию.

faunder 12.09.2008 13:35

Спасибо тебе!!!

alekciy 04.02.2010 15:31

Цитата:

Сообщение от ZoNT (Сообщение 5675)
overflow: scroll; делает скроллбары свегда, даже если содержимое меньше блока
overflow: auto; делает то, что вы сказали.

А зачем вам делать это джаваскриптом???

Тут еще как посмотреть.

CSS это конечно хорошо, но он генерит системные скролбары. А если я хочу свой? Я конечно понимаю, что в том же IE их видно можно изменять, но не то это, не то. Посему хорошо бы иметь какое либо булево поле по которому виден факт переполнения. Я вот о таковом не знаю, к сожалению. Да и есть ли оно?

alekciy 04.02.2010 15:53

Да, и понятно то, что можно оценивать размер родительского и дочернего блока, но хочется чего-то "искаробки", нативного.

subzey 04.02.2010 15:59

Цитата:

Сообщение от alekciy
А если я хочу свой?

Распространенная ошибка. Вы хотите свой, а Ваши посетители почти наверняка не хотят — взамен своих привычных, удобно настроенных и любовно отстилизованных (Opera / Firefox) скроллбаров они получат — что? То, что Вам показалось удобным и красивым.

Дисклемер дисклемером, а по делу — определить можно:
<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, время: 08:43.