Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.11.2011, 03:16
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Как узнать width элемента в ie?
Как узнать пиксельное значение ширины (без padding'ов, margin'ов и border'ов) объекта в internet explorer при процентном указании ширины и padding'ов? elem.currentStyle возвращает значение в процентах. offsetWidth берётся с padding'ами и border'ами. clientWidth вообще чёрти что выдаёт (при неуказанной высоте - о, при указанной - тоже, что и в ff - без border'ов, но с padding'ами). Есть какой-то способ?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #2 (permalink)  
Старый 07.11.2011, 04:59
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Я знаю следующие свойства:
element.width
element.clientWidth
element.offsetWidth

, а element.currentStyle возвращает те значения которые заданы в таблице стилей.
Ответить с цитированием
  #3 (permalink)  
Старый 07.11.2011, 05:17
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от Magneto
element.width
Возвращает undefined. Про следующие два я уже писал. И про currentStyle тоже...

Придумал такое:
<div style="width: 10%; padding: 5%;" id="div"></div>
<script>
el= document.getElementById("div");
real= el.offsetWidth; // запоминаем
el.width= el.offsetWidth+"px"; // ставим ему offsetWidth как ширину.
padding_value= el.offsetWidth-real; // их разница и будет значением отступов и границ
</script>

Но это как-то... Извращённо.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 07.11.2011, 10:43
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Похоже element.width устаревшее свойство. У меня справочник довольно старенький. Может у кого есть новый справочник?
Ответить с цитированием
  #5 (permalink)  
Старый 07.11.2011, 14:55
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Magneto
Похоже element.width устаревшее свойство.
element.style.width
Сообщение от trikadin
Уважаемые спрашивающие! Ответы на многие ваши вопросы есть в книжках. В частности, это книги:
1) Джон Резиг - "Профессиональные приёмы программирования"
2) Дэвид Флэнаган - "Javascript. Подробное руководство"
trikadin,
ответ на твой вопрос есть во второй книге

Последний раз редактировалось dmitriymar, 07.11.2011 в 14:58.
Ответить с цитированием
  #6 (permalink)  
Старый 07.11.2011, 16:04
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Все же я имел ввиду element.width, вполне возможно что ошибка в справочнике.
Ответить с цитированием
  #7 (permalink)  
Старый 07.11.2011, 16:11
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

dmitriymar, мне кажется, вы не совсем правильно меня поняли...

<style>
#div {
 width: 50%;
 height: 50%
 padding: 5%;
 border: 5%;
}
</style>
<div id="div">Как победить ie?</ie>
<script>
el= document.getElementById("div");
alert("elememt.style.width: " + el.style.width);
alert("computedStyle: " + (document.defaultView && document.defaultView.getComputedStyle(el).getPropertyValue("width")));// нормальные браузеры. Всё в пикселях
alert("currentStyle: " + (el.currentStyle && el.currentStyle["width"]));// ie. Тут проценты...
alert("offsetWidth: "+el.offsetWidth); // полная ширина элемента - вместе с padding'ами и border'ами. А нужна без них))
</script>


Книжку перечитал. Гугл помучал.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 07.11.2011 в 16:15.
Ответить с цитированием
  #8 (permalink)  
Старый 07.11.2011, 16:33
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

trikadin,
понял правильно.возможно у нас разные издания Фленегана. в моём он чётко уделяет внимание проблеме получения размеров и внимание уделяет падингу и мерджину в разных браузерах и моментов определения размеров с учётом их
Ответить с цитированием
  #9 (permalink)  
Старый 07.11.2011, 16:42
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Сообщение от dmitriymar
возможно у нас разные издания Фленегана
Пятое. А у вас?
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #10 (permalink)  
Старый 07.11.2011, 16:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Ну как тут не вспомнить классика!
...
- И пиво.
- Какое?
- А какое есть?
- Какое вас интересует? У нас восемь сортов.
- А какое меня интересует? Жигулевское пятый сорт!
(с) М.Жванецкий "На складе"
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как менять позицию элемента? Заданую через position:absolute; left:100px; top:200px; aRpi Общие вопросы Javascript 3 24.04.2011 08:42
как от элемента отвязать функцию syegorius jQuery 1 10.04.2011 22:05
Как узнать индекс элемента над которым находится курсор Zhazhah jQuery 2 28.03.2011 23:30
Подскажите как узнать существует ли объект в памяти? Yazla Общие вопросы Javascript 2 05.11.2009 20:05
Как узнать значение свойства СSS у элемента? Antt Общие вопросы Javascript 3 16.09.2009 17:39