JS가 스크롤 막대를 페이지 밑으로 굴리고 이벤트를 실행하는 방법을 판단합니다
clientHeight: 이 요소의 높이는 전체 공간의 높이를 차지하기 때문에 만약div에 스크롤 바가 있다면, 이 높이는 스크롤 바가 표시되지 않은 아래 부분의 내용을 포함하지 않습니다.단순한 DIV의 높이입니다.
offsetHeight: 요소 내용의 높이를 나타냅니다.위에 있는 대로 이 높이는 DIV 내부의 높이입니다. 보이는 부분과 스크롤 막대 아래의 보이지 않는 부분을 포함합니다.
스크롤 탑: 이게 뭘까요?그는 롤러가 굴러갈 수 있는 길이로 이해할 수 있다.
예를 들어 만약에 DIV 높이가 400px(즉clientHeight는 400)이고 그 안의 내용은 매우 긴 목록이며 내용의 높이는 1000px(즉offsetHeight는 1000)이다.그러면 보이는 부분은 400px, 1000px의 내용 중 600px를 볼 수 없습니다.이 보이지 않는 부분은 바로 우리가 롤러를 당겨야만 이 부분을 나타낼 수 있다.스크롤 막대가 움직이지 않으면 스크롤 탑이 0이고, 스크롤 막대를 끝까지 당기면 목록의 맨 아래 부분을 표시합니다. 이때 스크롤 탑은 600입니다.그래서 scrollTop의 수치 구간은 [0,600]이다.그래서 이 600은 스크롤 바가 스크롤할 수 있는 길이로 이해할 수 있다.
위의 이 개념을 이해한 후에끝까지 굴러갈지 안 굴러갈지 판단하면 돼.
우선, 우리는 롤러를 당겨서 맨 위에서 맨 아래로 당긴다. 변화하는 것은 scroll Top의 값이고 이 값은 하나의 구간이 있다.
이 구간은: [0, (offset Height - client Height)]
즉, 스크롤 막대가 당겨지는 전체 과정의 변화는 0에서 (offset Height C client Height) 범위 내에 있다.
1. 판단 스크롤 막대가 맨 아래로 굴러간다: scrollTop = = (offsetHeight C clientHeight)
2. 스크롤 막대 거리 하단 50px 이내: (offsetHeight C clientHeight) C scrollTop <= 50
3. 스크롤 막대 거리 하단 5% 이내: scrollTop/(offsetHeight C clientHeight) > = 0.95
위와 같다.
끝까지 끌어당기려면 자동으로 내용을 불러옵니다.스크롤 바 이벤트를 등록하는 경우:
scrollBottomTest =function(){
$("#contain").scroll(function(){
var $this =$(this),
viewH =$(this).height(),//
contentH =$(this).get(0).scrollHeight,//
scrollTop =$(this).scrollTop();//
//if(contentH - viewH - scrollTop <= 100) { // 100px ,
if(scrollTop/(contentH -viewH)>=0.95){ // 100px ,
// ..
}
});
}
PS: 여기에서 JS 이벤트에 대한 온라인 조회 도구를 추천합니다. JS가 자주 사용하는 이벤트 유형과 함수 기능을 요약했습니다.javascript 이벤트 및 기능 설명 전체:
http://tools.jb51.net/table/javascript_event
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 판단 수조 네 가지 실현 방법 상세그러면 본고는 주로 몇 가지 판단 방식과 방식 판단의 원리를 바탕으로 문제가 있는지 토론하고자 한다. 예를 들어 html에 여러 개의 iframe 대상이 있으면 instanceof의 검증 결과가 기대에 부합되지 않을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.