var $elem = elem;
var position = $elem.position();
var output = {};
var winX = $(window).height();
var winY = $(window).width();
output.width = $elem.width();
output.height = $elem.height();
output.bottomLeftX = position.left;//left top
output.bottomLeftY = position.top + output.height;//left bottom
output.bottomRightX = position.left + output.width;//right top
output.bottomRightY = position.top + output.height;//right bottom
if(position.left > 0 && position.top > 0 && position.left+output.width < winY && position.top+output.height < winX)
{
//something
}
else
{
alert('not gonna fit')
}
return output;
无论我尝试哪种方式,我似乎都无法做到这一点,以上是我来到这里试图获得一些帮助之前的最后一次尝试。我要做的是获取一个元素在 DOM 中的位置,并根据它的位置最终显示另一个元素。有点像工具提示,但在某些方面有所不同。反正。我试图弄清楚如果我需要如何翻转我的输出,以防将要显示的元素离开屏幕,即使它会,我想从不同的方向显示它。 .
当前触发显示隐藏元素的元素。使该元素左上边缘接触触发元素左下边缘。如果它要离开屏幕,例如触发元素在页面底部附近向下并且向右我希望将要显示的元素与其右下边缘接触触发器的右上边缘对齐元素。或者,如果触发元素位于页面的左下角,我希望它与触发元素的左上边缘对齐。基本上我需要覆盖找到边缘并将元素保留在窗口中的基础。目前显示的元素是 200px x 550px 宽,我不确定这是否特别符合上面代码中的整体需求。
任何解决这个问题的好方法,而不用想出十几个逻辑来说嘿,这会从窗口/视口的任何一个边缘掉下来,我们需要重新定位它。匹配