如何确定元素是否溢出(使用 jQuery)?
布局如下所示:
基本上我想要的是找出 ELEMENT 是否超出了 PAGE : )
我所知道的是页面宽度,它是固定的@ 900 px......
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
布局如下所示:
基本上我想要的是找出 ELEMENT 是否超出了 PAGE : )
我所知道的是页面宽度,它是固定的@ 900 px......
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
计算元素的
width
,然后获取其left
,最后将其减去页面的width
,即可得到溢出。示例如下: http://jsfiddle.net/jackJoe/Q5FdG/
Calculate the element's
width
, then get itsleft
, finally subtract it to the page'swidth
and you'll get the overflow.Example here: http://jsfiddle.net/jackJoe/Q5FdG/
假设您的页面上有一些
,您可以判断它是否在视口之外,如下所示:
Assuming you have some
<div id="elem"></div>
on your page, you could tell if it is outside of the viewport like this:您是否尝试过使用 CSS 来防止这种情况发生?
遍历页面上的每个元素似乎有点过多,并且在繁忙的页面上会花费一些时间。这是可能的,但并不完全实用。
Have you tried using CSS to prevent it from happening?
To iterate through every element on the page seems excessive, and it will take some time on a busy page. It is possible but not entirely practical.
这里的所有答案都没有检查元素是否位于
top:负值
或left:负值
。这就是为什么我在这里给出一个更正确或更精确的答案。
检查小提琴
All the answers here have not checked if element is at
top: negative value
orleft: negative value
.So that's why, I am giving a more correct or precise answer here.
Check Fiddle