我有一个300px的div。 这个div包含不同的图标,如果有太多图标那么他们是不是由于overflow:hidden
可见我如何可以编程检查图标是可见的,还是在溢出区?如何检查元素是否在溢出区域?
2
A
回答
0
http://elvingrodriguez.com/overflowed/
这是一个jQuery插件,告诉你,如果一个元素溢出。
3
我找不到任何完全一样的东西,所以我写了一个快速的库函数。
Element.addMethods({
isClipped: function(element, recursive){
element = $(element);
var parent = element.up();
if ((element === document.body) || !parent) return true;
var eLeft = element.offsetLeft,
eRight = eLeft+element.getWidth(),
eTop = element.offsetTop,
eBottom = eTop+element.getHeight();
var pWidth = $R(parent.scrollLeft, parent.getWidth()+parent.scrollLeft),
pHeight = $R(parent.scrollTop, parent.getHeight()+parent.scrollTop);
if (!pWidth.include(eLeft) || !pWidth.include(eRight) || !pHeight.include(eTop) || !pHeight.include(eBottom)) {
return true;
}
if (recursive) return parent.isClipped(true);
return false;
}
});
这不是优雅的(我没有说“快”),但它可以让你在任何元素上使用isClipped()
。你可以看到一个jsfiddle测试here。它测试一个元素的任何部分(不包括边界)是否是溢出的一部分。您可以做类似的测试,以测试完全在包含客户区域之外的元素。
0
如果一个节点的scrollWidth /身高高于它的offsetWidth /高度,那么事情会被(部分)隐藏。然后通过简单的数学算法确定哪个区域是隐藏的(增加图标宽度,计算滚动偏移量,然后最终检查图标是否在该可见区域内)。
相关问题
- 1. 无论如何检查元素是否溢出?
- 2. 检测元素是否进入溢出
- 3. 如何检查溢出是否发生?
- 4. 如何检查像素是否落在特定区域内?
- 5. 检查WrapPanel是否溢出?
- 6. 如何检查元素是否存在?
- 7. 如何检查元素是否在TD
- 8. 如何检查元素是否存在?
- 9. 检查元素是否位于页面的选定区域
- 10. 检查MenuItem是否在ActionBar溢出
- 11. 如何检测div元素溢出?
- 12. 如何检查html元素是否可见,如果它位于溢出属性设置为隐藏的div的溢出区域内?
- 13. 检测HTML元素是否滚动超出隐藏溢出
- 14. 检查线是否在区域
- 15. 检查坐标是否在区域内
- 16. 如何检查元素是否加载
- 17. 如何检查是否元素列表
- 18. 如何检查元素是否启用
- 19. CSS在溢出区域上方显示活动元素:隐藏
- 20. 检查元素在溢出滚动中是否完全可见DIV
- 21. jquery检查元素是否有元素
- 22. javascript css检查是否溢出
- 23. 检查内容是否溢出
- 24. 如何检查文档中是否出现新元素?
- 25. android-如何检查位置是否在特殊区域?
- 26. 如何检查UIImageView是否在UIScrollView的可见区域之外?
- 27. 如何检查元素是否与其他元素重叠?
- 28. 如何检查域是否存在
- 29. 如何检查域名是否存在?
- 30. 防止可被点击的元素隐藏区域溢出
根据插件来源,在我看来,它只检查元素是否在当前视口中看到。 https://github.com/elving/Overflowed/blob/master/jquery.overflowed.js –