HTML>как узнать координаты ячейки таблицы, относительно о @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 8 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Nikita Krivtsov
новый человек
0
Сообщения: 5
Зарегистрирован: 14.08.03
Заголовок сообщения: HTML>как узнать координаты ячейки таблицы, относительно о
Сообщение Добавлено: 17 Март 2004, 15:03:20 
Господа поделитесь знаниями :)

Задача: необходимо сделать выпадающее меню.
Есть табличка, состоящая из 4 ячеек:

<table width=100% border=1><tr>
<td id=menu1>петя</td>
<td id=menu2>вася</td>
<td id=menu3>коля</td>
<td id=menu4>сегизмунд</td>
</tr></table>
При наведении мышки на ячейку показывается скрытый слой. Весь механизм показа/скрытия слоя я сделал.
Осталось только позиционировать выпадающий слой точно по ячейкой.

Прописать жестко позиции нельзя - т.к. ширина ячеек может менятся, и соответственно меняются координаты Х и У у ячейки.

Вопрос: Как узнать координаты левого верхнего угла ячейки, например вот этой: <td id=menu2>вася</td> ?

Пробовал:
window.document.getElementById('menu2').style.top и
window.document.getElementById('menu2').top
- не помогают (пустые значения).

Пробовал вытянусть значения свойств menu2 с помощью функции:

<SCRIPT language=javascript type=text/javascript>

function fnShowProps(obj, objName){
var result = "";
for (var i in obj) // обращение к свойствам объекта по индексу
result += objName + "." + i + " = " + obj[i] + "<br />\n";
document.write(result);
}

fnShowProps(menu2.style, "menu2.style");
fnShowProps(menu2, "menu2");
</SCRIPT>

тоже ничего хорошего не увидел (значения menu2.style.top = пустоте)

Помогите!
des
соучастник
0
Сообщения: 407
Зарегистрирован: 14.04.03
Откуда: 40км от Москвы
Сообщение Добавлено: 17 Март 2004, 15:30:39 
хм, а нафик так сложно?
в интернете дофига простых способов.

_________________
всё таково, каково оно есть, и больше никаково
sts
новый человек
0
Сообщения: 105
Зарегистрирован: 10.12.01
Откуда: Город-Герой Лондон
Сообщение Добавлено: 17 Март 2004, 16:04:58 
завтра отвечу если не подскажут, а щас надо идти гинесс пить по случаю дня св. патрика :beer: простого решения типа divId.x нету вроде
Nikita Krivtsov
новый человек
0
Сообщения: 5
Зарегистрирован: 14.08.03
Сообщение Добавлено: 18 Март 2004, 09:45:22 

des писал(а):
хм, а нафик так сложно?
в интернете дофига простых способов.



Хотелось бы свое написать :)

Достал я готовый скрипт, вроде бы прикольный, вро де бы работает, но в нем черт ногу сломит (там такое количество вложенных таблиц и блоков, что и не сосчитать). И весит он 33 КБ (яваскрит+HTML)? а хотелось бы максимум в 4-5 КБ уложиться.

В идеале хотелось бы сделать универсальный скрипт, который мог подстраиватся под любую ширину таблички (окна броузера) и который можно было бы легко генерить с помощью ПХП на любое количество пунктов меню.
des
соучастник
0
Сообщения: 407
Зарегистрирован: 14.04.03
Откуда: 40км от Москвы
Сообщение Добавлено: 18 Март 2004, 15:34:07 
http://www.directsite.ru/menu.htm
2 кила

_________________
всё таково, каково оно есть, и больше никаково
des
соучастник
0
Сообщения: 407
Зарегистрирован: 14.04.03
Откуда: 40км от Москвы
Сообщение Добавлено: 18 Март 2004, 15:34:40 
а не, вру, гораздо меньше 2х

_________________
всё таково, каково оно есть, и больше никаково
phantomas
новый человек
3
Сообщения: 195
Зарегистрирован: 23.11.02
Откуда: Москва
Сообщение Добавлено: 18 Март 2004, 19:14:49 
Попробуй

Код:
document.getElementById("menu2").offsetTop
Nikita Krivtsov
новый человек
0
Сообщения: 5
Зарегистрирован: 14.08.03
Сообщение Добавлено: 19 Март 2004, 10:37:22 
К сожалению document.getElementById("menu2").offsetTop - не помогает.

Перепробовал все варианты:
в ячейку вкладывал див и пытался узнать его координаты,
координаьы самой таблицы
всю таблицу в див и его координаты
и т.д.
короче нет координат ваще (в лучшем случае offsetTop выдаёт 0 или -1)

des - спасибо, очень интересный скриптец!!!
Единственно, что заметил он в Опере 6 не работает.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 8 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100