Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как определить количество строк в div


Автор: RWIvan 3.3.2008, 09:18
Здравствуйте!

Есть div. В него динамически (при помощи javascript) пишется текст.

Необходимо определить сколько строк в div-е занимает текст.

Автор: vasac 3.3.2008, 09:35
Задать line-height диву и делить его высоту на это число smile

Автор: ksnk 3.3.2008, 09:38
А зачем узнавать?

imho, эта задача непроста и неблагодарна... smile особенно, если учитывать возможность изменения юзером шрифтов и размера окна. 

Автор: RWIvan 3.3.2008, 10:50
Div - в него выводится служебная инфа.

Хочется что бы он был фиксированной высоты. а когда в него не входит весь текст появлялась в конце ссылка, по нажатию на которую div увеличивал высоту до момента когда влезет весь текст.

В начальный момент нужно чтобы входило 2 строки.

Автор: bars80080 3.3.2008, 11:03
что-то мне подсказывает, что твоя задача решается ещё на сервере

если нет, то vasac уже написал что нужно, или
ты знаешь ширину и высоту дива, можно узнать примерно сколько букв влезает в эту рамку, затем сравниваешь элемент_по_id.length и заданное число. если больше, то текст сохраняешь в переменну, в див выводишь урезанный вариант, и ссылку, которая будет погружать полный текст ил открывать новое окошко и слой с полным тесктом

но я бы решил просто заданием overflow-y у дива

Автор: ksnk 3.3.2008, 11:10
Дык так и делать ;-) 
Сначала у див'а style='overflow:hidden;height:XXXpx', затем в него вставлять текст. Затем, через маленький таймаут, чтобы броузер успел отрендерить все это добро проверить у него scrollHeight и clientHeight и в случае надобности - вставить закорючку. По нажатии на закорючку поставить  height:auto

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)