| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Координаты перетаскиваемого объекта |
| Автор: Alx 28.2.2004, 19:41 |
| Значить так. есть <div style="position:absolute;">, который таскается мышкой по экрану. есть ли возможность определить его координаты, относительно элемента, над которым он сейчас расположен. Т.е. перетаскиваю на таблицу, координаты от ячейки, на свободную часть, от body и т.п. не думаю, конечно, что это возможно, однако... |
| Автор: Royan 29.2.2004, 16:43 |
| придется следить самому, на то и было придумано "position:absolute", чтобы координаты объекта были абсолютными относительно левого верхнего угла рабочей области окна. |
| Автор: Alx 29.2.2004, 17:57 |
| так можно всё-таки как-нить получить координаты перетскиваемого объекта, можеть position сделать не absolute... |
| Автор: Sardar 29.2.2004, 23:19 |
| Координаты любого обьекта можно получить через: offset(Top|Left) или style.pixel(Top|Left). А вот как найти координаты относительно обьекта над которым передвигаем другой обьект, события мыши для обьекта над которым двигаем другой не зажигаются. Можно пробежатся по странице и собрать карту из: обьектов, их смещений и их z-index, тогда двигая обьект можно всегда узнать над каким обьектом мы сейчас находимся. Это большой изврат ИМXО. ALEXANDRO что за страницу ты делаешь |
| Автор: Alx 1.3.2004, 09:54 |
| ладно, извращаться не буду, буду считать offset и от этого отнимать offset элемента, над которым сейчас находится объект. Собственно, у меня тока один такой элемент и есть. Человек перетаскивает картинки в рамку, а потом надо всё это сохранить на серваке. вото мне и нужны были координаты картинок от таблицы с рамкой. Я сам не думал, что так возможно, поэтому ладно |
| Автор: Alx 2.3.2004, 16:41 |
| Sardar Подожди-ка, подожди! offset(Top|Left) - координаты относительно род. элемента! А style.(left|top) - возвращает заданные элементы в таблице стилей! А мне-то надо если уж хотя бы не то, о чем я просил, а свойства, возвращающие координаты не свободно позиционированных элементов относительно левого края браузера! |
| Автор: GoodBoy 3.3.2004, 11:34 |
| Чегой то ты своим последним сообщением меня совсем запутал... :-))) Чего тебе надобно-то, старче?? :-))))) Если offset(Top|Left) - координаты относительно род. элемента, а тебе нужны координаты относительно левого края браузера, то все, что я могу тебе предложить, так это пробегаться по дереву объектов (obj = obj.parent) до тех пор пока obj.tagName не станет равно "BODY", что будет фактически означать, что ты достиг са-а-а-а-амого самого главного родительского элемента. :-))) И он есть точка отсчета. Ну и суммировать смещения всех пробегаемых элементов. :-))) |
| Автор: Alx 3.3.2004, 20:03 |
| спасибо, я чесно говоря сам запутался в этих координатах)) редко ими пользуюсь, тока, наверное, када менюшки делаю... короче, я вручную посчитал пока, скока там, а для картинки которая перетаскивается свойство style.(left|top), но это конечно не очень хорошо - ведь бывают разные мониторы и т.п., поэтому потом надо буит нормально сделать, а так пока пусть живёт!)) |
| Автор: Alx 5.3.2004, 11:27 | ||
| GoodBoy слушай, а ты знаешь, не получается! я када в статус баре прописываю window.event.x - возвращает 240, када мышь у края <td> в том месте, где надо. А када пробегаюсь по ветке возвращает 268!
функцию вызывал при клике на том <TD> и передавал функции в obj параметр this. там знаешь, что странно? что он где-то прибавляет по два пиксела таким тегам как <center>, <tbody> (кста, сам придумывает, я им вообще никогда не пользуюсь!), <basefont> - можеть по этому? |
| Автор: GoodBoy 5.3.2004, 12:55 | ||
Это при стандартных значениях cellpadding и cellspacing для таблицы. |
| Автор: Alx 5.3.2004, 15:17 | ||
ой не знаю, щас попробую... |