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


Автор: Axell 8.4.2007, 08:49
Собственно проблема в том, что имеется массив с некоторыми данными, длина которых варьируется. Нужно сделать так, чтобы в документ вытаскивался элемент массива длинной не более, например, 100 символов, независимо от его настоящей длинны. Т.е. нужно отрезать конец строки, если она провышает 100 символов (а еще было бы круто в таком случае дописать в конец ... в виде ссылки на полный текст). Можно, конечно сдалать двумерный и пихать туда сокращенный вариант строки, но это геморно... Вероятно это не очень сложно, но в JS я не сильно парю. На ПХП написал бы, так что принцип действия понимаю, а вот как конкретно...

Автор: Wolf1994 8.4.2007, 10:05
Кажется:
Код

var text="1234567890...";
document.write (text.substr(0,100));

Рекомендую пользоваться: http://www.wolf-ware.ru/index.php?search=JavaScript&query=software%2Fid%2F3611%2F

Автор: Mymik 8.4.2007, 10:35
Axell, Вообще это делается на стороне сервера.
Если с помощью PHP тогда надо определить длину строки strlen(). Если строка больше чем 100 символов то надо найти послений пробел в диапозоне от 0 до 100 символов. и поставь три точки. с ссылкой.

Автор: butionok 8.4.2007, 16:59
Вопрос только зачем? Если нужно сократить трафик, т.е. чтобы пользователю меньше грузилось тогда пользуй пхп.
А если всё равно, тогда проще задать определённые размеры слоя, чтобы там помещались 100 символов и пользовать свойство CSS text-overflow 

Код

text-overflow :ellipsis


смотри пример здесь: http://msdn.microsoft.com/workshop/samples/author/css/textoverflow.htm


Автор: Axell 9.4.2007, 18:36
Пасиба smile Смысл в том, что текст не должен выходить за пределы некой области.

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