javascript - 如何获取固定或绝对位置的 block 级元素来判断边缘是否从页面脱落,并进行调整?

标签 javascript jquery html css dom

好的,我正在尝试向我现有的页面添加一个元素,该元素将显示在按钮上方/下方,该按钮将打开/关闭按钮。此元素触发器已添加到我要将其添加到的页面的几个组件中。在大多数情况下,当元素在触发元素下方打开时显示该元素是可以的。然而。肯定会有少数情况,当切换打开时元素会下降到页面 View 下方,假设用户没有一直向下滚动以补偿元素打开(他们为什么会这样做)所以为了易于使用对于我的用户,我希望这个元素在它掉出查看 Pane 的情况下而不是在上面打开的触发器下方打开(UI 必须更改以补偿一点,并且触发器以图形方式连接到打开的框漂亮流畅的外观,无论如何那部分是无关紧要的,这有点视觉魔力。它确定元素在打开时是否在端口之外,如果是,则使其加载到触发器上方。

现在要避免显而易见的事情。 “你做了什么”。没什么。使元素在下面排列很容易我以前做过,我倾向于获取触发器位置,然后根据它的底部将元素排列起来以根据触发器位置进行匹配。所以,只是想解决如何处理的问题,即使它超出端口几个像素也会使其加载到触发器上方。我将如何补偿这样的问题是关键问题,是否有我可以遵循的特定技术,或者如果您愿意,我在执行此操作时应该考虑的“魔力”是什么?

最佳答案

使用 jQuery,您可以将处理程序附加到 .scroll()文档。

通过该事件,您始终可以知道访问者正在查看访问 event 的内容属性 .pageX.pageY

现在您知道了您点击的元素的位置 .offset()它是 height .

您还可以获得height窗口对象和要显示的元素。

那么这只是一个计算问题..

祝你好运

关于javascript - 如何获取固定或绝对位置的 block 级元素来判断边缘是否从页面脱落,并进行调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981590/

相关文章:

javascript - 如何为每个请求拦截并添加到 header auth_token?

php - 在数据表 jQuery 中传播大量数据的更快方法

php - 将 href 值增加一(Javascript)

jquery - 使用 jQuery 在某些页面上隐藏 div

JavaScript 代码在某些浏览器上无法运行

javascript - 在 Internet Explorer 中动态创建文件输入

Javascript - 我的函数地理定位权限 onchange 以几何级数返回值

javascript - 有没有办法让表格单元格固定在给定高度并启用自动换行?

HTML5 空元素

javascript - 在网页上运行 JS 函数的问题