2011-02-05 6 views
2

Предположим, у меня есть строка «Hello». Эта строка, очевидно, имеет пять символов, но какова ее длина в пикселях? Есть ли простой способ определить эту длину в JavaScript? Я подумал о решении, где дополнительный пользователь должен будет отображаться пользователю, но этот способ кажется взломанным и сложным.Получить длину строки в пикселях с помощью JavaScript

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

Спасибо.

+0

Возможно, вам понадобится ширина в пикселях элемента, содержимое которой представляет собой строку «Hello». Я прав? –

+0

Я предлагаю использовать моноширинный шрифт, тогда вы бы знали, сколько пробелов он занимает. ;) http://en.wikipedia.org/wiki/Monospaced_font – JoeyRobichaud

+0

@JoeRobich Я считаю, что unicode выбрасывает предположение 1-символа-1-глифа :-) –

ответ

2

Вы можете определить количество пикселей в контейнере . Вы можете сделать это, создав скрытый элемент в DOM, установив внутренний HTML в строку и запросив ширину.

+0

Как вы просите ширину? Я попробовал lbl.style.width и lbl.width, но всегда это неопределенное значение – Kingalione

+0

Что-то вроде: http://jsfiddle.net/dmhEC/1/ – rcravens

+0

Это не похоже на хороший ответ для меня - Я упоминаю, что он использует jQuery, и на самом деле он не содержит ответа. – NetMage

2

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