(据我所知)jQuery没有提供本机解决方案来查找元素对其定位父元素的偏移量。如何让jQuery为我提供元素的位置偏移
的坐标答案 0 :(得分:0)
使用jQuery的offsetParent()方法,我们可以获取当前元素所在的元素。然后我们可以比较两个偏移并提取坐标以获得我们正在寻找的信息。下面的方法将返回一个对象" top"和"左"属性。
// jQuery equivalent to Prototype's positionedOffset
(function($) {
$.fn.positionedOffset = function() {
// get viewport offset for our main element
var coords = $(this).offset();
// get parent and parent viewport offset
var parent = $(this).offsetParent();
var parentCoords = $(parent).offset();
// do some math to calculate relative offset
var diff_left = coords.left - parentCoords.left;
var diff_top = coords.top - parentCoords.top;
// return values
var offsetCoords = {
left: diff_left,
top: diff_top
}
return offsetCoords;
};
})(jQuery);