Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2008, 12:33
Интересующийся
Отправить личное сообщение для faunder Посмотреть профиль Найти все сообщения от faunder
 
Регистрация: 12.09.2008
Сообщений: 18

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

Как определить состояние переполнености блока с помощью javascript?
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2008, 12:39
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Что значит переполненность блока?
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2008, 12:48
Интересующийся
Отправить личное сообщение для faunder Посмотреть профиль Найти все сообщения от faunder
 
Регистрация: 12.09.2008
Сообщений: 18

Это значит, что содержимое блока превосходит размер блока и он переполняется. В css есть свойство определяющее переполненость блока и это свойство определяет, как вести блоку в случае его переполнения содержимым. Свойство это overflow. Например overflow: scroll означает, что если содержимое больше высоты блока ( т.е содержимое не помещается в блок, то сбоку выводятся полосы прокрутки ). Мне надо с помощью javascript определить переполнен блок или нет. Может есть свойство какое-нибудь или готовое решение.
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2008, 12:52
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

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

А зачем вам делать это джаваскриптом???
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2008, 13:35
Интересующийся
Отправить личное сообщение для faunder Посмотреть профиль Найти все сообщения от faunder
 
Регистрация: 12.09.2008
Сообщений: 18

Как же я затупил с этим вопросом!!! Это просто жесть. Представляешь лень было посмотреть спецификацию.
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2008, 13:35
Интересующийся
Отправить личное сообщение для faunder Посмотреть профиль Найти все сообщения от faunder
 
Регистрация: 12.09.2008
Сообщений: 18

Спасибо тебе!!!
Ответить с цитированием
  #7 (permalink)  
Старый 04.02.2010, 15:31
Аспирант
Отправить личное сообщение для alekciy Посмотреть профиль Найти все сообщения от alekciy
 
Регистрация: 27.12.2008
Сообщений: 31

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

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

CSS это конечно хорошо, но он генерит системные скролбары. А если я хочу свой? Я конечно понимаю, что в том же IE их видно можно изменять, но не то это, не то. Посему хорошо бы иметь какое либо булево поле по которому виден факт переполнения. Я вот о таковом не знаю, к сожалению. Да и есть ли оно?
Ответить с цитированием
  #8 (permalink)  
Старый 04.02.2010, 15:53
Аспирант
Отправить личное сообщение для alekciy Посмотреть профиль Найти все сообщения от alekciy
 
Регистрация: 27.12.2008
Сообщений: 31

Да, и понятно то, что можно оценивать размер родительского и дочернего блока, но хочется чего-то "искаробки", нативного.
Ответить с цитированием
  #9 (permalink)  
Старый 04.02.2010, 15:59
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Сообщение от 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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск