jQuery-获取链接中心

jQuery-获取链接中心,jquery,css,positioning,Jquery,Css,Positioning,我正在尝试为我正在开发的网站构建一个popover控件,但我无法正确定位。我尝试了各种方法来获取超链接的中心,但总是有点偏离 我不想硬编码的坐标,因为我需要这是普遍的,它需要与任何链接,我可能会使用popover在未来的工作 我做错了什么 以下是我目前的方法: $('#whatsthis').click(function(e) { var _linkLocation = $(this).offset(); $('#helpTip').css('position','absolu

我正在尝试为我正在开发的网站构建一个popover控件,但我无法正确定位。我尝试了各种方法来获取超链接的中心,但总是有点偏离

我不想硬编码的坐标,因为我需要这是普遍的,它需要与任何链接,我可能会使用popover在未来的工作

我做错了什么

以下是我目前的方法:

$('#whatsthis').click(function(e) 
{
    var _linkLocation = $(this).offset();
    $('#helpTip').css('position','absolute');

    $('#helpTip').css('left', _linkLocation.left - $(this).width()/2);

    $('#helpTip').fadeIn();
    return false;
}); 
..这是电流输出:


使用括号确保在将增量减半之前获得增量

(_linkLocation.left - $(this).width()) / 2

否则,运算符优先级将首先将
/2
绑定到宽度的结果,并给出不正确的结果。

使用括号确保在将其减半之前获得增量

(_linkLocation.left - $(this).width()) / 2
否则,运算符优先级将首先将
/2
绑定到宽度的结果,并给出不正确的结果。

请尝试以下操作:

$('#whatsthis').click(function(e)  {
    var _linkLocation = $(this).offset(), $helpTip = $('#helpTip');
    $helpTip.offset({ 
        'left': _linkLocation.left + $(this).width()/2 - $helpTip.width()/2,
        'top': _linkLocation.top + $(this).height()
    }).fadeIn();
    return false;
}); 
请尝试以下方法:

$('#whatsthis').click(function(e)  {
    var _linkLocation = $(this).offset(), $helpTip = $('#helpTip');
    $helpTip.offset({ 
        'left': _linkLocation.left + $(this).width()/2 - $helpTip.width()/2,
        'top': _linkLocation.top + $(this).height()
    }).fadeIn();
    return false;
}); 

谢谢你的建议!但这不起作用。popover完全消失,并由链接下方popover大小的大空白代替。自己看看:如果我添加
$('helpTip').css('position','absolute')(您的代码中缺少了该选项),popover位于正确的位置,但比以前离链接中心更远。@Prypia请尝试我的固定版本,前一个版本缺少帮助提示的宽度。谢谢!我所需要做的就是添加
$helpTip.css('position','absolute')到你的代码和所有的工作现在很好。谢谢你的建议!但这不起作用。popover完全消失,并由链接下方popover大小的大空白代替。自己看看:如果我添加
$('helpTip').css('position','absolute')(您的代码中缺少了该选项),popover位于正确的位置,但比以前离链接中心更远。@Prypia请尝试我的固定版本,前一个版本缺少帮助提示的宽度。谢谢!我所需要做的就是添加
$helpTip.css('position','absolute')到您的代码,现在一切正常。这不应该是问题,他想将提示中心放置到链接中心。这不应该是问题,他想将提示中心放置到链接中心。