如何检测Html元素是否在View中?
最好使用 Jquery,如何检测元素是否在浏览器的可视客户区域内?
我正在从数据集动态创建菜单,当列表增长太长时,生成的菜单的高度会导致其中一部分低于浏览器底部客户端区域。我如何检测到这一点并采取相应行动?
Using Jquery preferably, how do I detect if an element is within the viewable client area of a browser?
I'm dynamically creating a menu from a dataset, and when the list grows too long, the height of the resulting menu causes part of it to fall below the browser bottom client area. How do I detect this and act accordingly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信应该可以使用
position()
来制作一些东西和scrollTop()
(添加scrollLeft
(如果您的页面容易水平滚动)。以下是一些未经测试的示例代码,如果目标元素(完全或部分)在视口内,则应显示一条消息:如果您特别关心完全可见性,则可以交换条件:
添加对视口水平滚动的支持保留为给读者的练习:)
I believe it should be possible to cook something up using
position()
andscrollTop()
(addscrollLeft
if your page is prone to horizontal scrolling). Here is some untested sample code that should display a message if the target element is (fully or partially) within the viewport:The conditions can be swapped around if you care specifically about full visiblity:
Adding support for horizontal scrolling of the viewport is left as an exercise for the reader :)