我有一個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 –