我在动态ID的页面上动态显示了许多图像。
我想在点击时抓住图像的位置,这样我就可以调整另一个元素的位置。
我的代码似乎不起作用:
var selImg = $(this).attr('id');
var pos = $(selImg).position();
alert(pos.top);
我得到一个JS错误说" pos"未定义。
答案 0 :(得分:0)
您将selImg
设置为id
的{{1}}。
您需要将$(this)
设置为selImg
才能正确选择元素。现在,您正尝试在字符串上调用$(this)
。
答案 1 :(得分:0)
如果你匿名呼叫,
var pos = $(this).position()
alert(pos.top);
或使用id
调用它var pos = $('#id').position()
alert(pos.top);
答案 2 :(得分: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 };
}