Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Можно ли получить координаты объекта на экране


Автор: BloodWizard 18.7.2011, 15:40
МОжно ли получить координаты объекта в окне, если да, то как? 
Вообще задача стоит такая: есть несколько списков товаров, среди них список товаров и при  нажатии на специальные ссылки(или кнопочки) нужно чтобы дубликат фото товара улетало контейнер, а точнее в ту сторону просто что бы казалось как будто он добавился к списку в этом контейнере... 

Автор: Guedda 18.7.2011, 15:44
Свойства объекта offsetX и offsetY

Автор: BloodWizard 19.7.2011, 06:09
Цитата(Guedda @ 18.7.2011,  15:44)
Свойства объекта offsetX и offsetY

Не работает! Значение "undefined"... пробовал по всякому: 
Код

alert(document.getElementById("obj").offsetX);

и 
Код

alert($("#obj").offsetX);

Автор: CruorVult 19.7.2011, 10:06
Цитата(Guedda @  18.7.2011,  15:44 Найти цитируемый пост)
Свойства объекта offsetX и offsetY


Может offsetLeft, offsetTop

Автор: Muerto 19.7.2011, 12:36
Код

var position = $(element).offset();

Автор: Guedda 19.7.2011, 13:14
Цитата(CruorVult @  19.7.2011,  11:06 Найти цитируемый пост)
Может offsetLeft, offsetTop 

Извиняюсь. Запарился.

Автор: BloodWizard 20.7.2011, 04:04
Получилось! Сделал так: 
Код

var img = $("."+id+"").children(".photo").children("img"); // получаем оригинал картинки
var img_clone = img.clone(); // клонируем объект картинку
$(".item."+id).children(".photo").append(img_clone); // вставляем клон в документ


var to_compare_link_coords = $("#to_compare_link").offset(); // получаем объекта направления анимации картинки
to_compare_link_coords.left = to_compare_link_coords.left.toFixed(0);
to_compare_link_coords.top = to_compare_link_coords.top.toFixed(0);

var img_clone_coords = img_clone.offset(); // получаем координаты клона
img_clone_coords.left = img_clone_coords.left.toFixed(0);
img_clone_coords.top = img_clone_coords.top.toFixed(0);

var doc_scrol_x = $(document).scrollLeft(); //координаты скрола Х
var doc_scrol_y = $(document).scrollTop();  //координаты скрола Y
var win_width_w = $(window).width();   //Ширина окна
var win_height_h = $(window).height(); //Высота окна
var coords_to_anim = Array(to_compare_link_coords.left-img_clone_coords.left+50, to_compare_link_coords.top-img_clone_coords.top+150)

img_clone.addClass("anim_photo");
img_clone.css({top:'0', display: "block", position:"absolute", border:"0px solid red", "z-index": "999"});
img_clone.animate({left: coords_to_anim[0], top:coords_to_anim[1], width: "10%", height: "10%"}, "fast", function(){img_clone.remove();});


Но возникла друга проблема, скрипт выполняется один раз, а потом ошибка: 
Код

Ошибка: img_clone_coords is null

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)