好的,这个主题并不是我想要解决的整体需求。所以我有这个在给定元素上调用的函数,它是触发元素旁边的隐藏子菜单。页面呈现的方式,并保持样式优化,我不能只通过 css 设置位置样式。所以我需要 javascript/jquerys 帮助。
有了这个,我想出了一个可以根据需要重用的功能,并且可以正常工作。然而,我的关键问题是,我有几种情况,其中子菜单将<section>
与其所在元素的边缘重叠。元素溢出设置为隐藏,并且它也距离页面底部大约 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 Fiddle,不一定显示我想要的工作逻辑,但当它是页面/部分底部的元素时展示所需的效果:http: //jsfiddle.net/4zwEr/