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


Автор: alligator 1.9.2014, 08:40
Всем доброго времени суток, делаю адаптивную таблицу:
Необходимо сократить ФИО при маленьком размере экрана:
Допустим было: Иванов Иван Иванович -> стало Иванов И.И.

как можно реализовать?

Автор: ksnk 1.9.2014, 10:30
ФИО - оно всегда ФИО или как юзер ввел, так и есть? Если нормальное фио - то  регуляркой менять.
Код

"Чапаев Василий Иванович".replace(/(\S+)\s+(\S)\S*\s+(\S)\S*/,'$1 $2. $3.');

Автор: alligator 1.9.2014, 10:45
Цитата(ksnk @  1.9.2014,  11:30 Найти цитируемый пост)
ФИО - оно всегда ФИО или как юзер ввел, так и есть? Если нормальное фио - то  регуляркой менять.


Данные статичны т.к. собираются с контроллера домена (ldap)

Автор: alligator 1.9.2014, 13:30
Сделал так:
http://jsfiddle.net/7b1s9zx2/1/

Или может как нибудь по другому можно ? 

Автор: ksnk 1.9.2014, 14:07
А обратно как вернуть отФиоченные имена?  smile 
Разумнее, imho, делать несколько столбиков и скрывать -показывать их в зависимости от размеров таблицы. К полным фамилиям подписать столбик с ФИО.

Автор: alligator 1.9.2014, 14:42
Цитата(ksnk @  1.9.2014,  15:07 Найти цитируемый пост)
А обратно как вернуть отФиоченные имена?

Так это для мобильной версии =)

Автор: Aliance 1.9.2014, 14:44
1. вешать тяжелые операции на resize это прямая дорога к тормозам;
2. все одинаковые jQuery селекторы нужно кешировать:
Код

var $this = $(this);

3. зачем объявляется неиспользуемая переменная i?
4. DRY. Как думаете, для чего придумали функции? правильно, чтобы не повторять уже используемый кусок программы;
5. Лично я бы заменил регулярки, например на split;
6. но в конкретном примере вообще лучше не использовать JS, используйте CSS media queries (см. bootstrap для примера)
Код

<div class="visible-lg-block">Путин Владимир Владимирович</div>
<div class="hidden-lg">Путин В. В.</div>


Добавлено через 1 минуту и 14 секунд
Цитата(alligator @  1.9.2014,  15:42 Найти цитируемый пост)
Так это для мобильной версии =) 

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

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