Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Координаты перетаскиваемого объекта, относительно элемента над которым он щас 
:(
    Опции темы
Alx
Дата 28.2.2004, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Значить так. есть <div style="position:absolute;">, который таскается мышкой по экрану. есть ли возможность определить его координаты, относительно элемента, над которым он сейчас расположен. Т.е. перетаскиваю на таблицу, координаты от ячейки, на свободную часть, от body и т.п.

не думаю, конечно, что это возможно, однако...


--------------------
PM MAIL WWW ICQ   Вверх
Royan
Дата 29.2.2004, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



придется следить самому, на то и было придумано "position:absolute", чтобы координаты объекта были абсолютными относительно левого верхнего угла рабочей области окна.


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Alx
Дата 29.2.2004, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



так можно всё-таки как-нить получить координаты перетскиваемого объекта, можеть position сделать не absolute...


--------------------
PM MAIL WWW ICQ   Вверх
Sardar
Дата 29.2.2004, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Координаты любого обьекта можно получить через: offset(Top|Left) или style.pixel(Top|Left). А вот как найти координаты относительно обьекта над которым передвигаем другой обьект, события мыши для обьекта над которым двигаем другой не зажигаются.
Можно пробежатся по странице и собрать карту из: обьектов, их смещений и их z-index, тогда двигая обьект можно всегда узнать над каким обьектом мы сейчас находимся.
Это большой изврат ИМXО. ALEXANDRO что за страницу ты делаешь smile.gif?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 1.3.2004, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ладно, извращаться не буду, буду считать offset и от этого отнимать offset элемента, над которым сейчас находится объект. Собственно, у меня тока один такой элемент и есть. Человек перетаскивает картинки в рамку, а потом надо всё это сохранить на серваке. вото мне и нужны были координаты картинок от таблицы с рамкой. Я сам не думал, что так возможно, поэтому ладно smile.gif

Это сообщение отредактировал(а) ALEXANDRO - 1.3.2004, 09:56


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 2.3.2004, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Sardar

Подожди-ка, подожди! offset(Top|Left) - координаты относительно род. элемента! А style.(left|top) - возвращает заданные элементы в таблице стилей! А мне-то надо если уж хотя бы не то, о чем я просил, а свойства, возвращающие координаты не свободно позиционированных элементов относительно левого края браузера!

Это сообщение отредактировал(а) ALEXANDRO - 2.3.2004, 16:42


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
  Дата 3.3.2004, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Чегой то ты своим последним сообщением меня совсем запутал... :-)))
Чего тебе надобно-то, старче?? :-)))))

Если offset(Top|Left) - координаты относительно род. элемента, а тебе нужны координаты относительно левого края браузера, то все, что я могу тебе предложить, так это пробегаться по дереву объектов (obj = obj.parent) до тех пор пока obj.tagName не станет равно "BODY", что будет фактически означать, что ты достиг са-а-а-а-амого самого главного родительского элемента. :-))) И он есть точка отсчета. Ну и суммировать смещения всех пробегаемых элементов. :-)))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 3.3.2004, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



спасибо, я чесно говоря сам запутался в этих координатах)) редко ими пользуюсь, тока, наверное, када менюшки делаю...

короче, я вручную посчитал пока, скока там, а для картинки которая перетаскивается свойство style.(left|top), но это конечно не очень хорошо - ведь бывают разные мониторы и т.п., поэтому потом надо буит нормально сделать, а так пока пусть живёт!))


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 5.3.2004, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



GoodBoy

слушай, а ты знаешь, не получается! я када в статус баре прописываю window.event.x - возвращает 240, када мышь у края <td> в том месте, где надо. А када пробегаюсь по ветке возвращает 268!


Код
function setabsleft(obj)
{var absleft = obj.offsetLeft;
do
{obj = obj.parentElement;
absleft += obj.offsetLeft;
}
while (obj.parentElement.tagName != "BODY")
}


функцию вызывал при клике на том <TD> и передавал функции в obj параметр this.

там знаешь, что странно? что он где-то прибавляет по два пиксела таким тегам как <center>, <tbody> (кста, сам придумывает, я им вообще никогда не пользуюсь!), <basefont> - можеть по этому?


--------------------
PM MAIL WWW ICQ   Вверх
GoodBoy
Дата 5.3.2004, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Код
function setabsleft(obj) {
   var absleft = obj.offsetLeft;
   do {
       obj = obj.parentElement;
       if (obj.parentElement.tagName!="TBODY") absleft += obj.offsetLeft;
       if (obj.parentElement.tagName=="TABLE") absleft -= 2;
   } while (obj.parentElement.tagName != "BODY")
   alert(absleft);
}

Это при стандартных значениях cellpadding и cellspacing для таблицы.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Alx
Дата 5.3.2004, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата
if (obj.parentElement.tagName=="TABLE") absleft -= 2;


ой не знаю, щас попробую...


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.