jQuery检测父元素边缘的最佳方法

时间:2013-01-07 14:18:30

标签: javascript jquery

我在框架内设置了一个小的popover元素,目的是让这个框架位于facebook应用程序中。这意味着该应用程序限制为810px,并且不会出血。在我的应用程序中,您可以悬停一个元素,该元素将创建一个小元素,其中包含一个稍大的元素和一个号召性用语。

然而这不会起作用,因为出血会切断图像。所以我想到了在应用程序窗口中检测父边缘和偏移或居中弹出框架的想法。您认为会是哪个:

a)最佳选择 b)最快的选择 c)为什么

真的很感激对此的一些看法。

1 个答案:

答案 0 :(得分:4)

$(elem).position()

检测左上角元素的位置。要获得右下角,您可以使用

$(elem).width()
$(elem).height()

返回元素的大小,以便计算出底部和右侧位置。

我创建了一个ui函数,它将一次返回所有4个值

function get_position(e) {
    var res = new Object();
    var pos = e.position();
    res.left = pos.left;
    res.top = post.top;
    res.right = res.left + e.width();
    res.bottom = res.top + e.height();
    return res;
}

并为父元素get_position($('#id').parent())

调用它

请注意,如果使用边距,填充和边框,则值可能会出乎意料。在这种情况下,您可以outerWidth() jquery函数。