1
해당 요소가 div()에 표시되는지 확인하려고합니다.해당 요소가 div에 표시됩니다.
출발점은 요소 : 1,2,3,4가 표시됩니다.
왜 함수 : checkIfInView가 요소 번호 6에 대해 true를 반환합니까?
http://jsfiddle.net/Ht6Ym/2971/
function checkIfInView(element){
var offset = element.offset().top - $('#divContent').scrollTop();
if(offset > $('#divContent').innerHeight){
// Not in view
return false;
}
return true;
}
감사 :
이 내 jsfiddle입니다!
당신이 맞아요로 변경
체크! http://jsfiddle.net/Ht6Ym/2972/ – Hoijof
아쉽게도 작동하지 않습니다. $ ('# divContent'). scrollTop (100); var el = $ ('# divContent'). children(). eq (0); 알림 (checkIfInView (el)); var el = $ ('# divContent'). children(). eq (6); 알림 (checkIfInView (el)); 두 경우 모두 false 여야합니다. –
@ AlonShmiel 이는 논리가 나쁘다는 것입니다. 새로운 스크립트를 만들었습니다 : http://jsfiddle.net/sj0aeavw/1. 처음에는 상대적으로 위치하는 부모를 사용해야하고, 'offset'대신에'position'을 사용해야합니다 (하나는 부모 요소에 속하며 다른 하나는 전체 문서와 관련됩니다). 그리고 두 위치 모두에 대해 위치를 확인해야합니다 컨테이너의 상단과 하단. –