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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ширина у input, getElementById().style.width 
:(
    Опции темы
NNaarreekk
Дата 1.2.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

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



Есть:

Код
 
<input type='text' class='xxx' id='inp'/>

Код

.xxx{width: 300px;}


Как по средствам JS узнать размер инпута??

document.getElementById('inp').style.width не саботало:(:(
PM MAIL WWW   Вверх
bars80080
Дата 1.2.2008, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Код

<style>
input { width: 50px; }
</style>
<input type="text" id="er" name="name1">
<script>
var cSt = (document.getElementById('er').currentStyle) ? document.getElementById('er').currentStyle : getComputedStyle(document.getElementById('er'),'');
asdf = cSt.width;
alert(asdf);
</script>

PM MAIL WWW   Вверх
NNaarreekk
Дата 1.2.2008, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

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



bars80080, Спасибо!


Можно еще комменты к этому?? smile  smile 
PM MAIL WWW   Вверх
bars80080
Дата 1.2.2008, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



комменты...

смотрим, что пишут...

считывание стилей и назначение их, суть разные весчи,
для считывания нужно обратится к соответствующему свойству любого элемента
в ИЕ это currentStyle, доступное только для чтения,
в мозиле и опере требуется специальный метод window.getComputedStyle()
первый аргумент - указатель на объект элемента, второй - строка задающая псевдоэлемент или псевдокласс

результат у них один - указатель на объект style

кстати, если стиль задать не в css, а в качестве атрибута тэга, то сам посмотри, он выдаст тебе auto, т.е. в таблице стилей этого элемента не будет

и вообще, у них там не всё так просто

есть объект document.styleSheet для управления непосредственно стилями, как они заданы в таблице

пример:
Код

<style>
td { color: #ff0000; }
</style>
<script>
function change(x) {
var st = document.styleSheets[0]; // нулевой по порядку стиль в таблице - td
var ops = (st.rules) ? st.rules[0] : st.cssRules[0]; // первое для ИЕ, второе для мозилы, для оперы вообще такого нет
ops.style.backgroundColor=x; }
</script>
<table>
<tr><td>1</td><td>2</td><td>3</td></tr>
</table>
<a href="javascript:change('Green')">change</a>

т.е. это не просто изменить какую-то характеристику, а целый стиль
надо будет посмотреть, наследуется ли он
PM MAIL WWW   Вверх
SelenIT
Дата 1.2.2008, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Имхо, в данном случае нужнее document.getElementById('inp').offsetWidth


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
NNaarreekk
Дата 2.2.2008, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

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



Я вообще то ничего и не меняю.

Просто нужно div с position:absolute поставить рядом с инпутом. Но дело в том что у ипутов разные длины.

 А функция getposOffset(obj, "left") даёт растояние до левого края.


SelenIT, document.getElementById('inp').offsetWidth то что доктор прописал!



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


 




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


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

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