2014-11-18 3 views
0

У меня есть число изображений, динамически отображаемых на странице с динамическими идентификаторами.Захват позиции изображения с помощью var id

Я хочу захватить позицию изображения при нажатии, чтобы я мог отрегулировать положение другого элемента.

Мой код ниже, кажется, не работает:

var selImg = $(this).attr('id'); 

    var pos = $(selImg).position(); 
    alert(pos.top); 

я получаю ошибку JS, говоря «позиция» не определено.

+0

Я считаю, что вы имели в виду 'уаг поз = $ ("#" + selImg). положение(); ' – LcSalazar

ответ

0

Вы устанавливаете selImg в id из $(this).

Для правильного выбора элемента вам необходимо установить selImg в $(this). Прямо сейчас вы пытаетесь вызвать position на строку.

0

, если вы звоните анонимно,

var pos = $(this).position() 
alert(pos.top); 

или вызвать его с идентификатором

var pos = $('#id').position() 
alert(pos.top); 
0
$('img').click(function(){ 
    var position = getPosition(this); 
}); 

//Found this function online 
function getPosition(element) { 
    var xPosition = 0; 
    var yPosition = 0; 

    while(element) { 
     xPosition += (element.offsetLeft - element.scrollLeft + element.clientLeft); 
     yPosition += (element.offsetTop - element.scrollTop + element.clientTop); 
     element = element.offsetParent; 
    } 
    return { x: xPosition, y: yPosition }; 
} 
Смежные вопросы