Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.08.2013, 11:58
Аспирант
Отправить личное сообщение для yriiarutiunian Посмотреть профиль Найти все сообщения от yriiarutiunian
 
Регистрация: 22.08.2013
Сообщений: 57

Перенос строки по словам
Здравствуйте, есть некоторая длинная строка, необходимо реализовать разбиение строки с переносом чтобы данный текст вмещался в определенную ширину.

Текст вывожу raphael'ем когда подписываю оси raphael.text( x, y, 'текст')

или же есть же есть какое нибудь более простое решение например график рисовать через рафаель, а оси подписывать скажем под ним html'ем в блоке div
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2013, 14:23
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от yriiarutiunian
Здравствуйте, есть некоторая длинная строка, необходимо реализовать разбиение строки с переносом чтобы данный текст вмещался в определенную ширину.
общая идея такая (W - заданная ширина в пикселях):

1) "длину текста в пикселях" можно узнать так: помести текст в div (position: absolute) и зацени offsetWidth этого дива.
2) Топорное решение влоб - разбить текст на слова, далее в некоторую строку прибавлять по слову, вычислять ширину (п.1) и смотреть, не слишком ли большая (сравнивай с W). Когда слово не сможет вместиться, добавляй строку в копилку, и начинай так же собирать вторую строку. И т.д.
3) Много операций со строками. Можно оптимизировать - сначала помести весь текст в <div style="width:Wpx"><span></span></div> (внутрь спана), и посмотри span.getClientRects(). оно вернет набор прямоугольников, на которые разбился спан при переносе слов. width этих прямоугольников можно взять за первое приближение при разбивке, там интерполировать по количествам символов, найти ближайшие пробелы и т.д.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать перенос строки в listview jQuery Mobile gargon2013 jQuery 0 17.07.2013 11:49
Отправка формы по ENTER (ajax) и перенос строки VEGA jQuery 18 01.03.2013 14:09
тэг font, перенос по словам и отступы между строк maloun365 (X)HTML/CSS 1 14.11.2012 22:52
Перенос строки andrey1402 Общие вопросы Javascript 3 25.10.2012 15:27
перенос в конце строки ^M Shaci Общие вопросы Javascript 3 10.09.2012 00:21