0

好的,这个主题并不是我想要解决的整体需求。所以我有这个在给定元素上调用的函数,它是触发元素旁边的隐藏子菜单。页面呈现的方式,并保持样式优化,我不能只通过 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/

4

0 回答 0