如何使用jquery将相对定位的元素居中?

时间:2011-09-24 19:27:58

标签: javascript jquery html center

我正在尝试创建一个函数,它返回“左值应该是当前元素的中心”。这允许我设置动画到中心(和背面)或简单地居中一个项目。

我遇到了相对定位部分的问题。我错过了什么?

谢谢!


jQuery.fn.centerHorizontalOffset = function () {
    var position = $(this).css("position");
    if (position == "relative"){
        return (($(window).width() - $(this).width()) / 2) - $(this).parent().offset().left;
    } else if (position == "absolute"){
        return ($(window).width() - $(this).width()) / 2;
    }
    return ($(window).width() - $(this).width()) / 2;
}
jQuery.fn.centerHorizontalDistance = function () {
    return $(this).centerHorizontalOffset()-$(this).position().left;
}
$('#myDiv').css('left', $('#myDiv').centerHorizontalDistance());

1 个答案:

答案 0 :(得分:0)

我会研究使用jQuery UI的新“位置”插件:http://jqueryui.com/demos/position/ - 它非常适合完成你所追求的目标。

...不是我所知道的问题的直接答案,但这为我节省了大量时间,为什么要重新发明轮子? =)。祝你好运!