![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
Нас странице много таблиц и внутри одной из таблиц есть картинка, как определитьее координаты???
document.getElementById(id+'_img').offsetLeft выводит не ту координату! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
проверить совсем некак, однако вопрос: может, тебе возвращается сдвиг относительно родителя, а не страницы? И тогда есть смысл прибавить offsetLeft для parentNode?
|
|||
|
||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 13 Всего: 36 |
Скорее всего это координата, относительно родительского объекта.
Попробуй пройтись по предкам до корня, суммируя offsetLength -- опоздал Это сообщение отредактировал(а) vasac - 14.8.2006, 14:28 |
|||
|
||||
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
vasac,
А как это сделать??? Добавлено @ 14:30 vasac, можно пример??? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
Вроде бы так... Правильное значение возвращает? Это сообщение отредактировал(а) skyboy - 14.8.2006, 14:37 |
|||
|
||||
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
skyboy, Возращает ошибку, обьект не поддерживает это свойство или метод!
Добавлено @ 14:55 skyboy, нет, работает, спасибо! Добавлено @ 15:01 skyboy, Немного неверно определ. координаты, уходит сильно в право! |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
proger, скинь полный код страницы. Ну, по крайней мере, чтоб была таблица и картинка - совсем некогда самому набивать...
Добавлено @ 15:13 странно. у меня нормально работает. там и правда вычислялось относительно предка... Но "сильно вправо" у меня не уходит... |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Правильно будет работать функция getPosition(), которая та же самая, но не c parentNode , а c offsetParent .
Такие же темы: http://forum.vingrad.ru/index.php?showtopic=90327 http://forum.vingrad.ru/index.php?showtopic=39692 http://forum.vingrad.ru/index.php?showtopic=28220 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
12345c, а почему не определяется через parentNode?
|
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Он в таблице проходит все ноды - TD, TR,TBODY,TABLE, а надо только TD,TABLE, поэтому считает лишнее. Для списков и прочих тегов должно совпадать.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
12345c, странно. Ты хочешь сказать, что лишнее смещение(которое у себя не нашёл) появляется от того, что TD смещено относительно TR, TR - относительно TBODY, а TBODY - относительно TABLE? Странно как-то, ведь если бы между ними реально были бы отступы, они бы и отображались тоже и всё соответствовало бы действительности.... Или я тебя не понял?
|
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Без кода - гадать про смещение бесполезно. На получение точной позиции может влиять position (relative, absolute), может влиять overflow и проч. IE (и Опера, скорее всего тоже) не посчитают размер TD border, в этом случае нужно будет скормить clientLeft/clientTop и т.д. и т.п. Ошибка с игреком... (а всё потому, что никак не хочешь красоту навести, отступов да пробелов с переносиками добавить бы...) |
|||
|
||||
| proger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 400 Регистрация: 10.10.2004 Репутация: нет Всего: 1 |
||||
|
||||
| 12345c |
|
||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
А, точно,
Добавлено @ 14:14
|
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |