2

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

我不想硬编码坐标,因为我需要它是通用的,它需要与我将来可能使用弹出框的任何链接一起使用。

我在这里做错了什么?

这是我目前的方法:

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

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

    $('#helpTip').fadeIn();
    return false;
}); 

..这是当前输出:

在此处输入图像描述

4

2 回答 2

3

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

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

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

于 2012-10-07T10:50:34.020 回答
1

试试下面的:

$('#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;
}); 
于 2012-10-07T10:50:57.627 回答