나는 300px의 with와 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;
}
});
그것은 (I는 "빠른"말 했는가) 우아한 아니지만 그것은 당신이 모든 요소에 isClipped()
를 사용할 수 있습니다. jsfiddle 테스트 here을 볼 수 있습니다. 요소 (테두리 제외)의 일부가 오버플로의 일부인지 여부를 테스트합니다. 포함하는 클라이언트 영역 외부의 요소를 테스트하는 것과 비슷한 작업을 수행 할 수 있습니다.
0
노드의 scrollWidth/Height가 offsetWidth/Height보다 높으면 무언가 (부분적으로) 숨겨집니다. 그런 다음 간단한 수학을 통해 숨겨진 영역을 결정해야합니다 (아이콘 너비를 더하고 스크롤 오프셋을 계산 한 다음 궁극적으로 아이콘이 해당 보이는 영역 내에 있는지 확인).
관련 문제
- 1. 요소가 jQuery에서 다른 요소 안에 있는지 어떻게 확인할 수 있습니까?
- 2. jquery를 사용하여 요소에 자식 요소가 있는지 어떻게 확인할 수 있습니까?
- 3. 요소가 목록에 있는지 어떻게 알 수 있습니까?
- 4. 파일이 있는지 어떻게 확인할 수 있습니까?
- 5. 변수가 있는지 어떻게 확인할 수 있습니까?
- 6. 이 헤더가 있는지 어떻게 확인할 수 있습니까?
- 7. 뷰가 데이터베이스에 있는지 어떻게 확인할 수 있습니까?
- 8. MSBuild : 프로세스가 있는지 어떻게 확인할 수 있습니까?
- 9. 구성 요소가 표시되고 있는지 (백그라운드에있는 경우) 확인할 수 있습니까?
- 10. 마우스 커서가 지정된 요소 위에 있는지 어떻게 확인할 수 있습니까?
- 11. 요소가 jQuery를 사용하여 끌리고 있는지 어떻게 알 수 있습니까?
- 12. 좌표가 현재 보이는지도 영역에 있는지 어떻게 알 수 있습니까?
- 13. scp를 사용할 수 있는지 어떻게 확인할 수 있습니까?
- 14. 호스트에 연결할 수 있는지 어떻게 확인할 수 있습니까?
- 15. javascript - 아약스가 현재로드되고 있는지 확인할 수 있습니까?
- 16. 배열에 비슷한 요소가 있는지 어떻게 알 수 있습니까?
- 17. html 요소가 화면에 있는지 어떻게 알 수 있습니까?
- 18. VB.NET PictureBox에 이미지가 있는지 어떻게 확인할 수 있습니까?
- 19. 연결된 SQL Server가 로컬 컴퓨터에 있는지 어떻게 확인할 수 있습니까?
- 20. 마이크가 iPhone에 연결되어 있는지 어떻게 확인할 수 있습니까?
- 21. 데이터베이스에서 모든 트리거가 켜져 있는지 어떻게 확인할 수 있습니까?
- 22. BASS가 스트림을 재생하고 있는지 어떻게 확인할 수 있습니까?
- 23. 문자열에 Regex의 특정 문자가 포함되어 있는지 어떻게 확인할 수 있습니까?
- 24. 문자열에 정수보다 작은 숫자가 포함되어 있는지 어떻게 확인할 수 있습니까?
- 25. 소켓이 아직 열려 있는지 어떻게 확인할 수 있습니까?
- 26. PHP 사용 GZIP가 켜져 있는지 어떻게 확인할 수 있습니까?
- 27. XPath에서 목록에 특정 항목이 있는지 어떻게 확인할 수 있습니까?
- 28. UIScrollView의 특정 프레임에 하위보기가 있는지 여부를 어떻게 확인할 수 있습니까?
- 29. 사용자 기기에 Android 마켓이 설치되어 있는지 어떻게 확인할 수 있습니까?
- 30. 테이블에 인덱스가 있는지 여부를 어떻게 확인할 수 있습니까?
플러그인 소스에 따르면 현재 뷰포트에 요소가 표시되는지 확인하는 것만 같습니다. https://github.com/elving/Overflowed/blob/master/jquery.overflowed.js –