Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> узнать ширину текста 
V
    Опции темы
Samotnik
Дата 16.1.2010, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Привет
Подскажите, пажалста, как можно узнать ширину текста, в элементе ?  smile 
PM MAIL   Вверх
Amphiluke
Дата 16.1.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 35
Всего: 112



Если интересует просто ширина неформатированного текста (произвольной строки), можно так.
Код

function getTextWidth(txt) {
    var spn = document.createElement("span");
    spn.appendChild(document.createTextNode(txt));
    document.getElementsByTagName("body")[0].appendChild(spn);
    var __width = spn.offsetWidth;
    document.getElementsByTagName("body")[0].removeChild(spn);
    return __width;
}

Или вместо body использовать другой контейнер (например, если нужно учесть стили).

Пример использования:
Код

<p onclick="alert(getTextWidth(this.firstChild.nodeValue));">Lorem ipsum dolor sit amet!!!</p>


Это сообщение отредактировал(а) Amphiluke - 16.1.2010, 13:16
PM   Вверх
Samotnik
Дата 16.1.2010, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



спасибо, я по это читал, думал, есть другой способ 
PM MAIL   Вверх
Котокобра
Дата 18.1.2010, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



вот пример, должно помочь

Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>

<script>
function f(id){
    msg = "<b>Расположение элемента:</b>" + "<br />" +
        "высота: " + id.offsetHeight + "<br />" +
        "ширина: " + id.offsetWidth + "<br />" +
        "смещение от верхнего края: " + id.offsetTop + "<br />" +
        "смещение от левого края: " + id.offsetLeft + "<br />" +
        "объект, относительно которого происходит позиционирование: " + id.offsetParent.tagName;
    el.innerHTML = msg;
//    alert(msg.replace(/<br \/>/g, "\n"));
}
</script>

<div id="output_block">&nbsp;</div>
<script>var el = document.getElementById('output_block');</script>

<a href="javascript://" onclick="f(this)">click me</a>

</body>
</html>


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.