Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > Java Script

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 26.10.2007, 11:41   #1
Неактивный пользователь
 
Регистрация: 11.10.2007
Сообщений: 5
Репутация: 0
По умолчанию Определение ширины элемента

Друзья, помогите!

Как средствами js определить ширину элемента, у которого не задан ни .width, ни .style.width?

Заранее всем огромное спасибо!

Добавлено через 44 минуты
Да, еще вопрос:

Определил свойства стиля в таблице стилей документа. Изменять их средствами js - без проблем, но вот обратиться к их начальным значениям (которые лежат в таблице стилей) не могу. js дает пустую строку. Обратиться получается только к тем свойствам, которые прописаны непосредственно в теге.
Вопрос: как их достать из css-ки?

Последний раз редактировалось doroshenkoes; 26.10.2007 в 12:25.. Причина: Добавлено сообщение
doroshenkoes вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: KVR32N22S8-16мятежная лунаМагазин бытовой техники: lg tw4v9rd9e - переходи на сайт ТАЙМТВ!Мебельный магазин: стол раскладной книжка - Переходи на сайт!acw cr1-3r0 инструкция


Старый 30.10.2007, 01:28   #2
chatlano
Неактивный пользователь
 
Регистрация: 30.10.2007
Сообщений: 4
Репутация: 0
По умолчанию Ответ: Определение ширины элемента

ширина если не задана то зависит от ширины родительского элемента и так вплоть до body ширина которого будет зависить от ширины окна браузера. ну и мэрдженги с пэдингами надо учесть. А зачем тебе нужна ширина?
chatlano вне форума
 
Ответить с цитированием Вверх
Старый 30.10.2007, 10:05   #3
doroshenkoes
Неактивный пользователь
 
Регистрация: 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).
Второй аттрибут нужен, если для элемента задано несколько псевдоклассов. На выходе вся таблица Менделеева (т.е. стилей) и именно фактическая (это прежде всего касается размеров элемента).

Если кому пригодится, буду рад
doroshenkoes вне форума
 
Ответить с цитированием Вверх
Старый 30.10.2007, 12:27   #4
czukowski
Постоялец
 
Пол:Мужской
Регистрация: 25.05.2007
Сообщений: 432
Репутация: 169
По умолчанию Ответ: Определение ширины элемента

doroshenkoes, это все хорошо, но хотелось бы чего-то унифицированного... Я в последнее время приглядываюсь к mootools, жду, когда выпустят версию 1.2, обещается очень много вкусностей
czukowski вне форума
 
Ответить с цитированием Вверх
Старый 31.10.2007, 16:23   #5
chatlano
Неактивный пользователь
 
Регистрация: 30.10.2007
Сообщений: 4
Репутация: 0
По умолчанию Ответ: Определение ширины элемента

Цитата:
Сообщение от doroshenkoes Посмотреть сообщение

Ответ на вопрос нашел. Если кому интересно:

В IE доступ к стилям из css-ки реализуется через свойство элемента element.currentStyle.свойство (width, height, итд). Но это не вычисляемое свойство, т.е. если к примеру width = auto, то element.currentStyle.width тоже будет auto. Чтобы вычислить реальные габариты блока, необходимо их вычислить с помощью метода getBoundingClientRect(). Он возвращает объект с четырьмя свойствами: right, left, top, bottom. Это расстояние в пикселях относительно ... относительно не знаю чего.

Думаю что это расстояние от родительского элемента который relative или absolute спозиционированн. Если такого нет то от body
chatlano вне форума
 
Ответить с цитированием Вверх
Старый 06.11.2007, 20:04   #6
apapacy
Неактивный пользователь
 
Регистрация: 06.11.2007
Сообщений: 3
Репутация: 0
По умолчанию Ответ: Определение ширины элемента

есть еще удобные свойства element.offset***
element.offsetWidth и т.д.
apapacy вне форума
 
Ответить с цитированием Вверх
Старый 29.01.2008, 19:19   #7
doroshenkoes
Неактивный пользователь
 
Регистрация: 11.10.2007
Сообщений: 5
Репутация: 0
По умолчанию Ответ: Определение ширины элемента

Цитата:
Сообщение от doroshenkoes Посмотреть сообщение
В FireFox все гораздо проще и красивее. Для доступа к реальным свойствам объекта используется метод объекта document:
document.defaultView.getComputedStyle(element, pseudo_class).
Второй аттрибут нужен, если для элемента задано несколько псевдоклассов. На выходе вся таблица Менделеева (т.е. стилей) и именно фактическая (это прежде всего касается размеров элемента).

Здесь я немножко облажался. Выходной объект метода getComputedStyle() аналогичен свойству currentStyle в IE. Счастья нет

Если кто-нибудь знает, как замутить в FF фишку, аналогичную getBoundingClientRect() в IE, пишите, буду очень признателен!
doroshenkoes вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение посторонних 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

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:26. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.05964 секунды с 13 запросами