Javascript jQuery offset,将元素放置在另一个元素下,其中右边框与对齐元素接触

Javascript jQuery offset,将元素放置在另一个元素下,其中右边框与对齐元素接触,javascript,jquery,dom,Javascript,Jquery,Dom,好的,这个主题并不是特别针对我想要解决的总体需求。我有一个函数,在给定的元素上调用,它是一个隐藏的子菜单,位于一个触发元素旁边。页面呈现的方式,以及保持样式优化,我不能仅仅通过css设置位置的样式。所以我需要javascript/jquerys的帮助 有了它,我就有了一个可以根据需要重用的函数,并且在各个方面都可以很好地工作。然而,我的关键问题是,在一些情况下,子菜单将与它所在的元素的边缘重叠。元素溢出被设置为隐藏,并且它距离页面底部大约30像素。总之,子菜单元素要么在元素的中途完全脱离页面视图

好的,这个主题并不是特别针对我想要解决的总体需求。我有一个函数,在给定的元素上调用,它是一个隐藏的子菜单,位于一个触发元素旁边。页面呈现的方式,以及保持样式优化,我不能仅仅通过css设置位置的样式。所以我需要javascript/jquerys的帮助

有了它,我就有了一个可以根据需要重用的函数,并且在各个方面都可以很好地工作。然而,我的关键问题是,在一些情况下,子菜单将与它所在的
元素的边缘重叠。元素溢出被设置为隐藏,并且它距离页面底部大约30像素。总之,子菜单元素要么在元素的中途完全脱离页面视图,要么在节标记溢出状态下隐藏

用这个。在这种情况下,我希望不要让元素与触发器元素的底部对齐,而是让它与顶部对齐,这样在这种情况下,菜单位于触发器元素的上方,而不是下方

问题是我不知道如何补偿

这是我用来做我需要的事情的函数,现在我只需要一些帮助,可以说,当菜单元素从页面上掉下来的时候,我可以进行调整

function openSubOrgMenu(triggerID, elem)
{
    orgSubOpenID = triggerID;
    orgSubShowing = true;

    elemOffset = elem.offset(); //trigger element
    elemWidth = elem.width();
    elemHeight = elem.height();

    elemWrap = elem.siblings('.org_group_wrapper');//menu element
    elemWrapWidth = elemWrap.width();
    elemWrapHeight = elemWrap.height();

    moveTop = elemHeight + elemOffset.top + 4;
    moveLeft = elemOffset.left - (elemWrapWidth-elemWidth-15);


    elemWrap.show().offset({top:moveTop, left:moveLeft});
}
这是一个JS提琴,不一定显示我想要的工作逻辑,但当它是页面/部分底部的一个元素时,展示了所需的效果:

你能发布一个JSFIDLE来帮助排除故障吗?我可以试一试吗?哈哈,这是一个固定的模板,我正在添加功能和其他东西,所以重新创建整个问题可能是一个痛苦的。。。不过我还是要试一试。我补充道,我不认为它值多少钱。。但希望它至少能表达我所追求的最终结果