![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Регистрация: 11.10.2007
Сообщений: 5
Репутация: 0
|
Друзья, помогите!
Как средствами js определить ширину элемента, у которого не задан ни .width, ни .style.width? Заранее всем огромное спасибо! Добавлено через 44 минуты Да, еще вопрос: Определил свойства стиля в таблице стилей документа. Изменять их средствами js - без проблем, но вот обратиться к их начальным значениям (которые лежат в таблице стилей) не могу. js дает пустую строку. Обратиться получается только к тем свойствам, которые прописаны непосредственно в теге. Вопрос: как их достать из css-ки? Последний раз редактировалось doroshenkoes; 26.10.2007 в 12:25.. Причина: Добавлено сообщение |
|
|
|
| Реклама: | KVR32N22S8-16 | мятежная луна | Магазин бытовой техники: lg tw4v9rd9e - переходи на сайт ТАЙМТВ! | Мебельный магазин: стол раскладной книжка - Переходи на сайт! | acw cr1-3r0 инструкция |
|
|
#2
|
|
Неактивный пользователь
Регистрация: 30.10.2007
Сообщений: 4
Репутация: 0
|
ширина если не задана то зависит от ширины родительского элемента и так вплоть до body ширина которого будет зависить от ширины окна браузера. ну и мэрдженги с пэдингами надо учесть. А зачем тебе нужна ширина?
|
|
|
|
|
|
#3
|
|
Неактивный пользователь
Регистрация: 11.10.2007
Сообщений: 5
Репутация: 0
|
chatlano, спасибо за внимание к теме.
Ширина (и высота тож) нужна т.к. необходимо было реализовать "таскание" мышью абсолютно позиционированного элемента в родительском. Ответ на вопрос нашел. Если кому интересно: В IE доступ к стилям из css-ки реализуется через свойство элемента element.currentStyle.свойство (width, height, итд). Но это не вычисляемое свойство, т.е. если к примеру width = auto, то element.currentStyle.width тоже будет auto. Чтобы вычислить реальные габариты блока, необходимо их вычислить с помощью метода getBoundingClientRect(). Он возвращает объект с четырьмя свойствами: right, left, top, bottom. Это расстояние в пикселях относительно ... относительно не знаю чего. Но если найти разность м/д, например, Left и right, то как раз получится реальная ширина в px. В FireFox все гораздо проще и красивее. Для доступа к реальным свойствам объекта используется метод объекта document: document.defaultView.getComputedStyle(element, pseudo_class). Второй аттрибут нужен, если для элемента задано несколько псевдоклассов. На выходе вся таблица Менделеева (т.е. стилей) и именно фактическая (это прежде всего касается размеров элемента). Если кому пригодится, буду рад ![]() |
|
|
|
|
|
#4
|
|
Постоялец
![]() ![]() ![]() ![]() Пол:
Регистрация: 25.05.2007
Сообщений: 432
Репутация: 169
|
doroshenkoes, это все хорошо, но хотелось бы чего-то унифицированного... Я в последнее время приглядываюсь к mootools, жду, когда выпустят версию 1.2, обещается очень много вкусностей
![]() |
|
|
|
|
|
#5
|
|
Неактивный пользователь
Регистрация: 30.10.2007
Сообщений: 4
Репутация: 0
|
Думаю что это расстояние от родительского элемента который relative или absolute спозиционированн. Если такого нет то от body |
|
|
|
|
|
#6
|
|
Неактивный пользователь
Регистрация: 06.11.2007
Сообщений: 3
Репутация: 0
|
есть еще удобные свойства element.offset***
element.offsetWidth и т.д. |
|
|
|
|
|
#7
|
|||||||||||||||||||||||
|
Неактивный пользователь
Регистрация: 11.10.2007
Сообщений: 5
Репутация: 0
|
Здесь я немножко облажался. Выходной объект метода getComputedStyle() аналогичен свойству currentStyle в IE. Счастья нет ![]() Если кто-нибудь знает, как замутить в FF фишку, аналогичную getBoundingClientRect() в IE, пишите, буду очень признателен! |
|||||||||||||||||||||||
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Определение посторонних IP | Albros | Интернет партизаны | 2 | 26.03.2009 13:25 |
| Visual FoxPro. ComboBox событие выбора элемента из списка | Vasuha | Базы данных | 8 | 24.02.2009 10:22 |
| Метод нахождения минимального/максимального элемента массива | Leonn | Visual C++ / С/C++ | 7 | 18.12.2007 09:59 |
| Определение расстояния. | AZLK | Турбо - Форсаж | 4 | 20.05.2007 22:17 |
|
|