javascript - 用于相对于用户在约束内单击的位置定位框的数学公式?

标签 javascript jquery html css math

这对我来说很难解释,但我正在寻找一个数学公式来定义相对于用户在一列行中单击的位置弹出框的位置。

这里试图阐明我的意思: https://imgur.com/a/DbJA3

红色圆圈是用户在左侧列中单击的位置,右侧的框是弹出的位置。因此,当用户单击列底部的一行时,该框应该弹出,以便底部边缘与列底部对齐。如果用户在中间点击它应该对齐到中间。这样弹出的框永远不会超出左侧列的高度,因此用户永远不必滚动。

这有意义吗?我可以使用 CSS 来设置框的绝对位置,但我只需要一个公式来确定它应该位于的位置。

最佳答案

我认为没有一个公式可以满足这一条件,但通过一些编程你可以让它发挥作用。你从显而易见的开始:

top    := click.y - height / 2
bottom := click.y + height / 2

然后你完善它:

if bottom > container.height -> 
    bottom := container.height
    top    := MAX(0, bottom - height)
elif top < 0 ->
    top    := 0
    bottom := MIN(container.height, height)
fi

关于javascript - 用于相对于用户在约束内单击的位置定位框的数学公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240407/

相关文章:

javascript - Azure存储授权失败或格式错误

jquery - 使用 Jquery 使用复选框/按钮检查表行中的所有复选框

javascript - Mini DB - 从 HTML 表单按钮动态更新 excel 文件 - JavaScript/HTML/Jquery

javascript - 检测在 vh JQuery 中滚动的距离

javascript - 我的 PHP URL 不会重定向

javascript - window.open 仅在 IE 中导致错误

javascript - 具有相同模板但具有动态内容的指令

javascript - 如何将 hover css 与圆形图像一起使用?

asp.net - 无法在Jquery的点击事件中设置href

javascript - .html() 失去 Angular 范围