在另一个div(毛刺)中间对齐一个div

Pho*_*Hun 7 html css jquery

在此输入图像描述

你可以在这里找到jsFiddle演示

正如你可能在图片上看到的那样,我试图将中间一个圆圈(div,绿色)对齐到另一个圆圈(div,灰色).我计算了两个div的中心并使它们相等,但是小绿圈仍然不在中间.

哪里出错了?我找不到它.

我用来对齐圆圈的jquery(o绿色圆圈在哪里,$(this)是灰色圆圈:

$.fn.center = function(o) {
  var _X = parseInt(o.css('left')) + parseInt(o.width())/2 - parseInt($(this).width())/2;
  var _Y = parseInt(o.css('top')) + parseInt(o.height())/2 - parseInt($(this).height())/2;
  $(this).offset({ top: _Y, left: _X });
};
Run Code Online (Sandbox Code Playgroud)

预先感谢您的任何帮助!

Geo*_*ins 1

使用 jQuery UI 的position方法。它允许您相对于任何其他元素定位任何元素并抽象出所有复杂性。(由ogc-nick提供)。

$.fn.center = function(o) {
    $(this).position({
      my: "center middle",
      at: "center middle",
      of: o
    });
};
Run Code Online (Sandbox Code Playgroud)